【发布时间】:2018-08-06 21:22:15
【问题描述】:
我正在运行一些需要挂载本地卷并在那里进行更改的 docker 映像。我正在使用典型的
启动容器docker run -it -v $(pwd):/root/foo ${IMAGENAME} ./script.sh
问题是主机目录中的新文件具有root权限/所有者。我宁愿避免任何配置,除了在命令行中添加一些东西。
执行后更改文件权限不够干净,并且可能需要root权限。
理想情况下,我想要--userns-remap 之类的东西,但在我执行 docker run 并将容器根目录映射到启动容器的用户时应用。
有什么建议吗?
【问题讨论】:
-
不确定您的问题是什么。默认情况下,容器内的所有文件都将归容器的 root 用户所有。这是你不想要的行为吗?如果是这样,您必须在容器中创建一个新用户,并 chown/chmod 您需要的文件夹。最好的方法是通过带有
RUN指令的 Dockerfile。 -
我更新了问题。我在想
--userns-remap之类的东西在docker run中是可能的 -
@Aserre 问题是挂载卷中的任何新文件在主机目录中都具有 root 作为所有者,即使容器作为普通
myuser123启动也是如此@