当前位置:  开发笔记 > 运维 > 正文

Docker:已安装卷的权限

如何解决《Docker:已安装卷的权限》经验,为你挑选了1个好方法。

我有这个图像,我从主机安装一个卷

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

在容器内部,我使用的是不同于root的用户.现在的问题是它无法在里面创建/修改文件/data/workspace(权限被拒绝).现在我解决了它现在chmod -R 777 workspace在主机上做的事情.Docker解决这个问题的方法是什么?



1> VonC..:

这可以通过用户映射来解决(问题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)

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有