我有此镜像,在该镜像中我从主机挂载了一个卷

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

在容器内部,我使用的用户不同于root用户。现在的问题是,它无法在/data/workspace中创建/修改文件(权限被拒绝)。现在,我暂时解决了该问题,以便在主机上执行chmod -R 777 workspace。解决这个问题的docker方法是什么?

最佳答案

可以用user mapping (issue 7198)解决,但该线程包括:

# 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)

关于linux - Docker:已安装卷的权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34369056/

10-08 21:51