Permissions 我可以控制docker映像中绑定装载卷的所有者吗?

Permissions 我可以控制docker映像中绑定装载卷的所有者吗?,permissions,docker,Permissions,Docker,我有一个包含eclipse的docker图像。我在一个名为eclipse的帐户下运行图像中的eclipse。我想从装载到容器中的主机绑定开始使用我的工作区目录启动映像。不幸的是,容器中装入的卷的所有者不是eclipse。装载的卷只保留来自主机的UID和GID 有没有办法控制UID和GID是在哪个容器中装入的卷?我认为目前无法将UID和GID设置为docker中的装入选项。但至少有两种方法可以解决这个问题: 匹配主机和容器中所有者/用户的UID和GID。在您的情况下,如果主机上的所有者ID和GID

我有一个包含eclipse的docker图像。我在一个名为eclipse的帐户下运行图像中的eclipse。我想从装载到容器中的主机绑定开始使用我的工作区目录启动映像。不幸的是,容器中装入的卷的所有者不是eclipse。装载的卷只保留来自主机的UID和GID


有没有办法控制UID和GID是在哪个容器中装入的卷?

我认为目前无法将UID和GID设置为docker中的装入选项。但至少有两种方法可以解决这个问题:

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

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

  • 请记住,当涉及到文件权限时,只有
    数字id
    起作用


    有用链接-

    使工作区世界可写是否可以接受?我认为没有办法更改挂载目录的uid/gid,因此唯一的替代方法是在主机和容器之间匹配uid/gid(讨厌的:()


    有关uid/gid的信息,请参见,我发现我可以找到一个解决方法来操作uid和gid,我只是希望有更好的方法来控制它。