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

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

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 (администратор).

Я все еще хочу выполнить команду 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
задан 18 April 2017 в 23:08

4 ответа

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

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
2
ответ дан 22 May 2018 в 23:29
  • 1
    Вы не можете запустить sudo в Dockerfile. Это не работает :( ... даже когда я удаляю команду sudo – Kevin 18 April 2017 в 17:14
  • 2
    Кевин, извините, что раньше я не мог проверить докер. Можете ли вы повторить новый пример? – Grayson Kent 18 April 2017 в 17:48
  • 3
    Все те же сообщения :( – Kevin 18 April 2017 в 18:10
  • 4
    [F1] или что Docker не может работать sudo? – Grayson Kent 18 April 2017 в 18:12
  • 5
    Извините, я не видел, чтобы вы раньше устанавливали sudo. он работает таким образом – Kevin 19 April 2017 в 23:34

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

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
2
ответ дан 18 July 2018 в 14:42

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

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
ответ дан 24 July 2018 в 20:27

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

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
ответ дан 31 July 2018 в 23:30

Другие вопросы по тегам:

Похожие вопросы: