我可以控制泊坞窗图像中绑定安装卷的所有者吗?

我有一个包含日食的docker图像。 我在一个名为eclipse的账户下运行eclipse 。 我想用我的工作空间目录forms绑定到容器上的主机来启动镜像。 不幸的是,容器内已安装卷的所有者不是eclipse 。 挂载的卷只保留主机的UID和GID。

有没有一种方法来控制容器中安装的UID和GID?

我相信在这一点上,没有办法将docker中的UID和GID设置为挂载选项。 但是至less有两种方法来解决这个问题:

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

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

请记住,当涉及到文件权限时,只有numeric id重要。

有用的链接 – 容器内的许可

让工作空间世界可写是否可以接受? 我相信没有办法改变挂载的目录的uid / gid所以唯一的select是匹配主机和容器之间的uid / gid(讨厌:()

有关uid / gid的信息,请参阅https://github.com/docker/docker/issues/7198