Как мне установить пароль учетной записи в Dockerfile? - PullRequest
0 голосов
/ 20 января 2019
ENV USERNAME ros
RUN adduser --ingroup sudo --disabled-password --gecos "" --shell /bin/bash --home /home/$USERNAME $USERNAME
RUN bash -c 'echo $USERNAME:ros | chpasswd'
ENV HOME /home/$USERNAME

Моя цель - создать учетную запись с правами sudo.

В контексте я пытаюсь создать образ Docker с работающей установкой ROS.Установка ROS сложна и включает в себя запуск множества команд и сценариев.Я знаю, что приведенное выше утверждение, вероятно, неверно, поскольку оно создает файлы с владельцем ros и группой sudo.

1 Ответ

0 голосов
/ 20 января 2019

Хотя я согласен с комментариями о том, что в большинстве случаев вы избегаете sudo в Docker, у меня также была такая же ситуация, когда мне нужно было иметь пользователя без полномочий root с привилегиями sudo без пароля внутри Docker.

Это мой Dockerfile, который определяет пользователя sudo

Это соответствующая часть из него:

# Set a passwordless sudoer user
RUN adduser --disabled-password --gecos "" ubuntu && \
    usermod -aG sudo ubuntu && \
    echo "%sudo  ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/nopasswd

# Start the container as the user
WORKDIR /home/ubuntu
USER ubuntu
CMD bash

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...