在添加到sudoers组的非root用户构建镜像期间无法创建文件夹。这是我的Dockerfile:
FROM ubuntu:16.04
RUN apt-get update && \
apt-get -y install sudo
RUN adduser --disabled-password --gecos '' newuser \
&& adduser newuser sudo \
&& echo '%sudo ALL=(ALL:ALL) ALL' >> /etc/sudoers
USER newuser
RUN mkdir -p /newfolder
WORKDIR /newfolder
我遇到了错误:
mkdir: 无法创建目录 '/newfolder':权限被拒绝
。
USER
指令,所以当你在容器内运行命令时,你不是root
用户。如果你想成为root
用户,你需要一个特权升级工具,比如sudo
或者su
,或者重新设计容器,不使用USER
指令,考虑使用类似ENTRYPOINT
脚本的东西,在运行你的CMD
时使用sudo
或类似的工具来降低权限。 - larsks