Вопрос Запустить команду sudo с пользователем без полномочий root в контейнере Docker


У меня есть этот файл Dockerfile:

FROM ubuntu:17.04

# Must have packages
RUN apt-get update && apt-get install -y nano zsh curl git

# Instal Oh my Zsh
RUN bash -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
RUN sed -i -- 's/robbyrussell/sonicradish/g' /root/.zshrc 

# Add none root user
RUN adduser admin
USER admin

Я связываюсь с пользователем admin с оболочкой zsh.

docker exec -ti linux zsh

Я добавляю пользователя без полномочий root (admin).

Я все еще хочу выполнить sudo команды с этим пользователем, но это ошибки:

$ sudo apt-get install vim
zsh: command not found: sudo

Это же сообщение с оболочкой bash.

Как я могу запустить sudo команды с пользователем без полномочий root?

Когда я не использую sudo Я получаю ошибку разрешения:

$ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

1
2018-04-18 13:24


происхождения


Я не так хорошо знаком с докером, разве вы не можете использовать корень в образе? вы можете добавить вывод which sudo на ваш вопрос? - Ravexina


ответы:


Это то, что я сделал бы

FROM ubuntu:17.04

# Must have packages
RUN apt-get update && apt-get install -y vim nano zsh curl git sudo

# Install Oh my Zsh
RUN bash -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
RUN sed -i -- 's/robbyrussell/sonicradish/g' /root/.zshrc 

# Add none root user
RUN  useradd admin && echo "admin:admin" | chpasswd && adduser admin sudo
USER admin

3
2018-04-18 13:51



Вы не можете запустить sudo в Dockerfile. Это не работает :( ... даже когда я удаляю команду sudo - Kevin
Кевин, извините, что раньше я не мог проверить докер. Можете ли вы повторить новый пример? - Grayson Kent
Все те же сообщения :( - Kevin
command not found или что Docker не может запустить sudo? - Grayson Kent
Извините, я не видел, чтобы вы раньше устанавливали sudo. он работает таким образом - Kevin