Зазвичай контейнери докера запускаються за допомогою кореня користувача . Я хотів би скористатися іншим користувачем, що не викликає проблем із використанням USER-директиви докера. Але цей користувач повинен мати можливість використовувати судо всередині контейнера. Ця команда відсутня.
Ось простий 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 пакета