我有一个目录
/home/foo/mydir
,它的所有者是foo:foo
(uid=1040),我在alpine docker映像中使用bind mount绑定该目录,命令如下:docker run -it --rm -v /home/foo/mydir:/tmp/mydir --user 1040 alpine
但是当我检查容器中的该目录时,它的所有者却变成了root:root
。我是否疯了?我以为docker会传递文件权限到容器中呢?有没有任何方法可以保留权限(即使在容器中使mydir
仍然属于foo:foo
),而无需在容器中对其进行chown操作?
--user 1040:1040
吗? - anthony sottiledocker run -it -v /home/nick:/home/nick --user 1000:1000 ubuntu bash
,成功将目录挂载为 UID 1000。 - Nick ODell--user
只有在使用旧的 "osxfs" 文件共享模式时才能正常工作,而不能在新的 gRPC FUSE 模式下使用。当我使用 "osxfs" 模式时,docker run --user ABC:XYZ …
会将ABC:XYZ
的所有权分配给任何绑定挂载的文件和目录。 - Julian Mehnle