[英]Docker - Ownership lost after mounting a single file
我试图适应Docker,现在偶然发现了一个微妙的问题,但我还无法解决。
(我在Windows 10上正常工作,但同样的问题也适用于Debian)
我想以非根用户身份运行我的容器入口点,该入口点已经在工作了。 但是,我想要一个文件,在其中已经设置了应用程序所需的权限(user:usergrp和chmod 600),如下所示:
touch /app/application.properties && \
chown user:usergrp /app/application.properties && \
chmod 600 /app/application.properties
实际上,这确实有效。 如果只运行没有任何安装的容器,则可以看到其设置正确:
-rw------- 1 user usergrp 0 Jan 6 18:32 application.properties
但是,当我使用单个文件装载覆盖文件时,所有权更改为root:root 。 相反,权限保持为600。
我的困惑来自于以下事实:卷挂载和单个文件挂载在这里的工作方式不同。 在我的Dockerfile中,我还有一个目录,该目录被挂载覆盖,并保留所有权和权限 。
如何获得为单个文件装载保留的所有权,还是必须以其他方式解决?
提前致谢!
我尝试重现此问题,并且发现某些命令组合会导致文件成为根目录,例如--mount source=test.properties,target=/app/test.properties
。
尝试使用这种方法来保留单个文件的所有权和权限。 此命令组合在我的机器上正常工作。
--mount type=bind,source="$(pwd)"/test.properties,target=/app/test.properties
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.