我有一个包含日食的码头工人图像。我在名为 eclipse 的帐户下运行图像中的 Eclipse 。我想从主机绑定安装到容器中的工作空间目录启动映像。不幸的是,容器中已安装的卷的所有者没有 蚀 。装入的卷仅保留主机的UID和GID。
有什么方法可以控制将哪个UID和GID安装在容器中的卷?
我相信目前还无法在Docker中将UID和GID设置为安装选项。但是至少有两种方法可以解决此问题:
匹配主机和容器中所有者/用户的UID和GID。在您的情况下,如果主机上的所有者ID和GID为1000,请确保容器中拥有用户的uid / gid具有相同的UID和GID,在这种情况下为1000。
使用文件访问控制列表命令getfacl-获取容器上工作空间目录所有者的uid / gid,并使用setfacl命令在主机上授予此id读/写权限。您必须在主机上运行setfacl。这样,acl权限将传播到容器。我不建议在容器级别进行任何所有权更改,因为这会破坏主机的所有权,并且下次您从映像启动容器时将不会保留该所有权。
getfacl
setfacl
请记住,涉及文件权限时,仅需注意numeric id。
numeric id
有用的链接- 容器内的权限