Docker:已安装卷的权限

我有这个从主机挂载卷的映像

-v /Users/john/workspace:/data/workspace 

在容器内部,我使用的是不同于root的用户。 现在问题是它不能创build/修改/data/workspace内的文件(权限被拒绝)。 现在我解决了它现在在主机上执行chmod -R 777 workspacedocker解决方法是什么?

这可以通过用户映射来解决(问题7198) ,但同一个线程包括:

管理解决这个使用新的dockerfile参数。 容器建好之后,不需要做任何特别的事情,所以我想分享一下。 (需要Docker 1.9)

在Dockerfile中:

 # Setup User to match Host User, and give superuser permissions ARG USER_ID=0 RUN useradd code_executor -u ${USER_ID} -g sudo RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers USER ${USER_ID} 

然后建立:

 docker build --build-arg USER_ID=$(id -u) 

这样,容器中的用户可以在挂载的主机卷中写入(不需要chown / chmod)