我有这个 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
我正在使用 zsh shell 与管理员用户连接。
docker exec -ti linux zsh
我正在添加一个非 root 用户(管理员)。
我仍然想sudo
用这个用户执行命令,但它出错了:
$ sudo apt-get install vim
zsh: command not found: sudo
与 bash shell 的消息相同。
如何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
添加sudo
到您的安装列表;大多数 Docker 容器不附带它。我不了解Ubuntu,但我知道Fedora 和CentOS 就是这样。