在docker集装箱内使用sudo

通常,docker容器是使用root用户运行的。 我想使用不同的用户,这是使用docker的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'login。 当我尝试使用sudo时,找不到命令。 所以我试图在我的Dockerfile中使用安装sudo软件包

 RUN apt-get install sudo 

这导致无法find软件包sudo

我不知道如何pipe理这个。 有什么build议么? 多谢!

刚刚得到它。 正如regan指出的那样,我不得不将用户添加到sudoers组中。 但主要原因是我忘记了更新存储库caching,所以apt-get找不到sudo包。 现在正在工作。 这里是完整的代码:

 FROM ubuntu:12.04 RUN apt-get update && \ apt-get -y install sudo RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo USER docker CMD /bin/bash