一尘不染

我可以控制Docker映像中绑定安装的卷的所有者吗?

docker

我有一个包含日食的码头工人图像。我在名为 eclipse 的帐户下运行图像中的 Eclipse
。我想从主机绑定安装到容器中的工作空间目录启动映像。不幸的是,容器中已安装的卷的所有者没有 。装入的卷仅保留主机的UID和GID。

有什么方法可以控制将哪个UID和GID安装在容器中的卷?


阅读 204

收藏
2020-06-17

共1个答案

一尘不染

我相信目前还无法在Docker中将UID和GID设置为安装选项。但是至少有两种方法可以解决此问题:

  1. 匹配主机和容器中所有者/用户的UID和GID。在您的情况下,如果主机上的所有者ID和GID为1000,请确保容器中拥有用户的uid / gid具有相同的UID和GID,在这种情况下为1000。

  2. 使用文件访问控制列表命令getfacl-获取容器上工作空间目录所有者的uid / gid,并使用setfacl命令在主机上授予此id读/写权限。您必须在主机上运行setfacl。这样,acl权限将传播到容器。我不建议在容器级别进行任何所有权更改,因为这会破坏主机的所有权,并且下次您从映像启动容器时将不会保留该所有权。

请记住,涉及文件权限时,仅需注意numeric id

有用的链接- 容器内的权限

2020-06-17