Docker权限托pipe容器中的用户卷

我正在寻找一个“干净”的解决scheme来共享一个卷和共享权限。 我的意思是,如果可能的话,我希望在我的容器中拥有与启动它的本地用户相同的用户。

目前,我正在使用:

docker run --rm -v ~/Projects/:/projects/ mycontainer 

它的工作原理,但问题是,当我的容器在本卷中写入一些内容时,它是根本谁是专有的,而不是我的本地用户。

处理这个问题的最好方法是什么? 如果可能的话,我不想在Dockerfile中创build用户信息,因为我想与同事共享这个容器,我想避免本地用户和容器用户之间的任何权限问题。

谢谢

您可以在docker run命令中指定用户:

 --user, -u Username or UID (format: <name|uid>[:<group|gid>]) 

如果使用主机用户的数字UID和GID,则创build的文件将属于该用户。

感谢您的帮助亨利。

我的完整解决scheme是:

 docker run --rm -e USER_ID=$(echo "$UID") -v ~/Projects/:/projects/ mycontainer 

我把这个脚本作为入口值:

 #!/bin/bash adduser -D -u $USER_ID alpine &>/dev/null cd /projects/ su alpine -c 'mycommand ...." 

有了这个我的容器可以访问和添加/修改与我的本地用户相同的权限的项目文件夹中的内容。