通常情况下,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"用户登录。当我尝试使用sudo时,命令未找到。因此,我尝试在Dockerfile中安装sudo软件包。
RUN apt-get install sudo
这会导致出现无法定位sudo软件包的错误。