加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Docker:已安装卷的权限

发布时间:2020-12-14 00:35:31 所属栏目:Linux 来源:网络整理
导读:我有这个图像,我从主机安装一个卷 -v /Users/john/workspace:/data/workspace 在容器内部,我使用的是不同于root的用户.现在问题是它无法在/ data / workspace内创建/修改文件(权限被拒绝).现在我解决了它现在在主机上做chmod -R 777工作区. Docker解决这个问
我有这个图像,我从主机安装一个卷

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

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

解决方法

这可以用 user mapping (issue 7198)解决,但同样的线程包括:

Managed to solve this using the new dockerfile args. It doesn’t require doing anything special after the container is built,so I thought I’d share. (Requires Docker 1.9)

In the 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}

Then to build:

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

这样,容器中的用户可以写入已安装的主机卷(无需chown / chmod)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读