gpt4 book ai didi

docker - 如何让 docker COPY 忽略文件权限?

转载 作者:行者123 更新时间:2023-12-04 11:32:52 28 4
gpt4 key购买 nike

我正在从注册表中提取 docker 镜像,我想将其用作缓存,在本地运行 docker build --cache-from MY_IMAGE . .它使用 case 到层 COPY requirements.txt ${SOME_DIR} .我怀疑问题在于 docker 查看文件权限,而不仅仅是文件内容。有没有办法让它忽略文件权限?
提前致谢! :)
PS 我可能可以使用 RUN、HEREDOC 和管道来避免使用 COPY,但它看起来真的很糟糕。
问候

最佳答案

再次阅读问题后,我猜缓存失效是这里的问题 - COPY 命令在某些更改时使缓存失效,并且权限是元信息的一部分,这些信息包含在此计算中。
注意权限,因为 hashing is used to detect changes .有相关问题:Why does my Docker cache get invalidated by this COPY command?
没有办法解决这个问题 - 如果您的文件权限因上游注册表镜像而异,只需在最后一点使用 COPY 命令即可。
复制操作本身的权限不是从源中派生的,而是根据官方 docs. 默认情况下“所有新文件和目录都使用 0 的 UID 和 GID 创建”。
但是,您可以在使用 COPY 时更改所有者。命令。
您可以使用 --chown参数,带有 user:group语法,或使用 UID:GID值。
请注意,这仅适用于基于 Linux 的容器。
在 Windows 机器上使用了具有权限的不同概念,以及 /etc/groups 的用法。或 /etc/passwd不可能。

关于docker - 如何让 docker COPY 忽略文件权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62703958/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com