无法访问使用Docker COPY复制的文件夹

无法访问使用Docker COPY复制的文件夹,docker,dockerfile,docker-machine,Docker,Dockerfile,Docker Machine,在Docker构建期间,我正在将一些文件夹复制到映像。这是一个简单的步骤列表: FROM ubuntu:latest COPY . /deploy RUN useradd -ms /bin/bash myuser RUN chown -R myuser:myser /deploy 现在,如果我启动这个容器并切换到myuser,我将无法访问deploy文件夹中的任何文件夹,但我可以作为root用户访问它们。我已验证此文件夹的权限,但未发现任何问题 Docker版本:17.12.0-ce 主机:U

在Docker构建期间,我正在将一些文件夹复制到映像。这是一个简单的步骤列表:

FROM ubuntu:latest
COPY . /deploy
RUN useradd -ms /bin/bash myuser
RUN chown -R myuser:myser /deploy
现在,如果我启动这个容器并切换到myuser,我将无法访问deploy文件夹中的任何文件夹,但我可以作为root用户访问它们。我已验证此文件夹的权限,但未发现任何问题

Docker版本:17.12.0-ce


主机:Ubuntu 14.01

尝试用

docker run --user=myuser -ti image_name
编辑: 阅读后,您有以下语法:

COPY [--chown=<user>:<group>] <src>... <dest>

可能相关:有趣的是,我可以编辑和保存deploy文件夹中的任何文件,但什么时候做ls,我就会得到ls:cannotopendirectory/deploy/controllers:Permissiondenied@Henry在我的例子中,我没有在任何地方使用chmod。似乎aufs和chmod/chown命令中有一些bug,有时还有令人惊讶的解决方法。只需做一点搜索就可以找到一些想法来尝试。部署目录获得myuser的所有权。运行容器后能否共享/deploy/controllers的权限?已尝试此操作,但未成功。我的问题更新了一点。实际上,我可以访问deploy文件夹,但不能访问其中的子文件夹。
FROM ubuntu:latest
RUN useradd -ms /bin/bash myuser
COPY --chown=myuser:myusergroup . /deploy