我有这个映像,其中我从主机挂载了一个卷
-v /Users/john/workspace:/data/workspace
在容器内部,我使用的用户不同于root用户。现在的问题是它无法在其中创建/修改文件/data/workspace
(权限被拒绝)。现在我解决了它,现在可以chmod -R 777 workspace
在主机上执行。解决此问题的docker方法是什么?
这可以通过用户映射(issue 7198)来解决,但是该线程包括:
设法使用新的dockerfile args解决此问题。构建容器后,不需要执行任何特殊操作,因此我想与您分享。(需要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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句