热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我如何将DockerCOPY作为非root用户?

如何解决《我如何将DockerCOPY作为非root用户?》经验,为你挑选了1个好方法。

在构建Docker镜像时,如何COPY将文件放入图像中,以便生成的文件归root用户所有?



1> FGreg..:

对于版本v17.09.0-ce和更新版本

将可选标志--chown=:ADDCOPY命令一起使用.

例如

COPY --chown=:  

--chown标志的文档现在在Dockerfile主参考页面上生效.

问题34263已合并,可在v17.09.0-ce版本中获得.


适用于v17.09.0-ce之前的版本

Docker不支持COPYroot用户以外的用户.你需要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.

问题34263是实现可选标志功能的问题,问题467更新了文档.


令人沮丧的是,由于overlay2已成为默认的存储驱动程序,因此处理大量文件的速度变得异常缓慢
推荐阅读
author-avatar
Steven
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有