Docker 容器输出目录在主机中不可见
我有Dockerfile,如图所示。 入口点中的脚本创建一个目录并放置少量工件Docker 容器输出目录在主机中不可见,docker,Docker,我有Dockerfile,如图所示。 入口点中的脚本创建一个目录并放置少量工件 # from base image FROM ...... RUN mkdir -p /home/myuser RUN groupadd -g 999 myuser &&\ useradd -r -u 999 -g myuser myuser ENV HOME=/home/myuser ENV APP_HOME=/home/myuser/workspace RUN mkdir $AP
# from base image
FROM ......
RUN mkdir -p /home/myuser
RUN groupadd -g 999 myuser &&\
useradd -r -u 999 -g myuser myuser
ENV HOME=/home/myuser
ENV APP_HOME=/home/myuser/workspace
RUN mkdir $APP_HOME
WORKDIR $APP_HOME
RUN chown -R myuser:myuser $APP_HOME
USER myuser
ENTRYPOINT ......
我为上图启动一个容器,如图所示
sudo docker run -v ${WORKSPACE}/output:/home/myuser/workspace/output image
我无法在主机中获取工件<代码>${WORKSPACE}/output使用权限创建drwxr\u xr\u x
将容器文件放入主机的过程是什么
其他信息:
- 我的主机用户名是
kit
- 容器用户是
myuser
- 容器工作得非常好-在创建输出文件时,它会抛出一个错误,
权限被拒绝
- 我试图向
授予${WORKSPACE}/output
的完全权限。然后我可以看到输出文件drwxrwxrwx
- chmod目录以允许任何人写入(不推荐,但快速简单)
- 更新映像以匹配主机上用户的uid/gid
- 切换到使用命名卷
- 在启动应用程序之前,使用入口点将容器uid/gid与卷装载的uid/gid对齐
我将在中详细介绍这些。还有一些发言者的笔记(我相信P或S会显示出来)。容器是否正常运行?输出目录为空?是的,它为空。使用docker Exec时,容器中的home/myuser/workspace/output文件也可以正常工作。在写入输出目录时,它抛出一个权限被拒绝的错误