Я запускаю Docker для Windows с включенным экспериментальным режимом, чтобы он мог запускать как образы Windows, так и образы Linux. Я столкнулся с проблемой в моих файлах Docker Linux, где он будет работать в режиме ROOT, даже когда я использую USER
для переключения на пользователя, которого я хочу.
Например, в следующем Dockerfile
я сначала создаю myuser
, а затем переключаюсь на него. Это отлично работает при запуске docker на моем Mac, но whoami
возвращает root для обоих в Windows. Я также столкнулся с этой проблемой с docker-compose и настройкой пользователя.
RUN useradd -ms /bin/bash decs| chpasswd && adduser decssudo
ADD sudoers.txt /etc/sudoers
RUN chmod 440 /etc/sudoers
RUN whoami
USER decs
RUN whoami
Вот мой sudoers.txt:
root ALL=(ALL) ALL
decs ALL=(ALL) NOPASSWD: ALL
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"