我有这样一张图片,其中我从主机中挂载了一个卷
-v /Users/john/workspace:/data/workspace
在容器中,我使用的是不同于root用户的用户。现在的问题是它无法在/data/workspace
内创建/修改文件(权限被拒绝)。现在我解决了这个问题,暂时在主机上执行chmod -R 777 workspace
。有什么docker方式可以解决这个问题吗?
我有这样一张图片,其中我从主机中挂载了一个卷
-v /Users/john/workspace:/data/workspace
在容器中,我使用的是不同于root用户的用户。现在的问题是它无法在/data/workspace
内创建/修改文件(权限被拒绝)。现在我解决了这个问题,暂时在主机上执行chmod -R 777 workspace
。有什么docker方式可以解决这个问题吗?
使用新的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)
id -u
,我会得到501
。也许这与所有这些都在Mac上的virtualBox中运行有关。有什么建议吗? - Jeanluca Scaljeri