在我的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:现在有了ADD
和COPY
的标志
(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权限,只存储可执行标志。