繁体   English   中英

Docker-挂载单个文件后所有权丢失

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM