Answers:
对于版本v17.09.0-ce和更高版本
将可选标志--chown=<user>:<group>
与ADD
或COPY
命令一起使用。
例如
COPY --chown=<user>:<group> <hostPath> <containerPath>
--chown标志的文档现在位于Dockerfile参考主页面上。
版本34263已被合并,可以在v17.09.0-ce版本中使用。
对于v17.09.0-ce之前的版本
Docker不COPY
以root用户身份支持用户身份。您需要chown
/ 命令后的chmod
文件。COPY
Dockerfile示例:
from centos:6
RUN groupadd -r myuser && adduser -r -g myuser myuser
USER myuser
#Install code, configure application, etc...
USER root
COPY run-my-app.sh /usr/local/bin/run-my-app.sh
RUN chown myuser:myuser /usr/local/bin/run-my-app.sh && \
chmod 744 /usr/local/bin/run-my-app.sh
USER myuser
ENTRYPOINT ["/usr/local/bin/run-my-app.sh"]
在v17.09.0-ce之前,该COPY
命令的Dockerfile参考说:
创建的所有新文件和目录的UID和GID为0。
历史 这个功能已经通过多种GitHub上的问题跟踪:6119,9943,13600,27303,28499,发行30110。
chown
40MB的文件)。