Обычно контейнеры Docker запускаются с использованием пользователя root . Я бы хотел использовать другого пользователя, что без проблем, если использовать директиву USER докера. Но этот пользователь должен иметь возможность использовать sudo внутри контейнера. Эта команда отсутствует.
Вот простой Dockerfile для этой цели:
FROM ubuntu:12.04
RUN useradd docker && echo "docker:docker" | chpasswd
RUN mkdir -p /home/docker && chown -R docker:docker /home/docker
USER docker
CMD /bin/bash
Запустив этот контейнер, я вошел в систему с пользователем 'docker'. Когда я пытаюсь использовать sudo, команда не найдена. Поэтому я попытался установить пакет sudo внутри моего Dockerfile, используя
RUN apt-get install sudo
Это приводит к невозможности найти пакет sudo