通常,使用用户root运行docker容器。我想使用不同的用户,但是这个用户应该能够在容器内使用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
发布于 2018-08-02 09:07:49
这是TL;DR版本:
RUN apt-get update
RUN apt-get install sudo
RUN adduser --disabled-password --gecos '' docker
RUN adduser docker sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER docker
# this is where I was running into problems with the other approaches
RUN sudo apt-get update
发布于 2018-08-02 10:21:26
我不得不将用户添加到sudoers组。但主要原因是我忘了更新存储库缓存,所以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
https://stackoverflow.com/questions/-100004118
复制相似问题