Docker COPY命令允许777访问复制的文件



在我的docker文件中,我有以下命令:

USER gerrit
COPY gerrit-default-config /var/gerrit/etc/gerrit.config

运行图像时,我看到文件访问编号是777。它是默认值吗?除了在每次复制后运行chmod之外,还有什么方法可以更改访问权限吗?

RUN chmod 600 /var/gerrit/etc/gerrit.config

权限是从您的主机继承的。如果在复制之前该文件在主机上的777上,那么容器中就会有777。

如果你不想777在这里,只要在主机上把它调到600就行了。

来源:https://github.com/docker/docker/issues/6333

更新2021:现在有了ADDCOPY的标志
(Docker引擎>=20.10,启用Docker BuildKit,Docker/dockerfile>=1.3)

# syntax=docker/dockerfile:1
FROM debian:buster
COPY --chmod=0644 file /path

由于文件用途是在Dockerfile中编写的(即用作文档),因此在Dockerfle中也显式显示权限是有意义的,而不是在CICD过程中隐藏的另一个文件中。

FTR-Git不存储Unix权限,只存储可执行标志。

最新更新