Docker 运行 更改主机上文件夹的权限

Docker run changes the permission of the folder on the host machine

我的主机中有一个路径 /Users/bhav/workspace。我也是它的主人。

我运行docker命令如下(作为root用户)

docker run -t -d -u root -w /Users/bhav/workspace -v /Users/bhav/workspace:/Users/bhav/workspacerw,z -v /Users/bhav/workspace@tmp:/Users/bhav/workspace@tmp:rw,z 7ff0d5f7b0ce

退出容器后,

我的 workspace 文件夹的权限已更改为“root”。

如何avoid/rectify这个。

当您在 docker run 中执行 -u root 时,您是在告诉容器 运行 作为 root。

相反,请尝试 -u $(id -u):$(id -g) 将容器 运行 作为您的用户。

不幸的是,如果您的图像未设置为 运行 作为不同的用户,这可能不起作用,但通常它会起作用(如果是您自己的图像,您可以相应地进行调整)。

更长的版本:https://pythonspeed.com/articles/containers-filesystem-data-processing/