can';t访问docker中由Dockerfile中的ADD/chown/chmod创建的docker中自己的目录

can';t访问docker中由Dockerfile中的ADD/chown/chmod创建的docker中自己的目录,docker,Docker,我试图将ssh私钥从Dockerfile添加到docker building中,它看起来像有线连接,即使看起来我拥有完全权限,我也无法访问它 Docker Version: 1.0.0 Docker host: ubuntu 14.04 这是Dockerfile FROM ubuntu:latest ENV HOME /home/larry RUN useradd larry && echo 'larry:docker' | chpasswd RUN echo "larry

我试图将ssh私钥从Dockerfile添加到docker building中,它看起来像有线连接,即使看起来我拥有完全权限,我也无法访问它

Docker Version: 1.0.0
Docker host: ubuntu 14.04
这是
Dockerfile

FROM ubuntu:latest

ENV HOME /home/larry

RUN useradd larry && echo 'larry:docker' | chpasswd
RUN echo "larry ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

# arrange ssh key
ADD larry.id_rsa $HOME/.ssh/id_rsa

RUN \
    chmod 700 $HOME/.ssh &&\
    chmod 600 $HOME/.ssh/id_rsa 

RUN chown -R larry:larry $HOME
在我构建了图像并运行到容器中,然后向用户su
larry
,我得到了

$ id
uid=1000(larry) gid=1000(larry) groups=1000(larry)
$ ls -al
total 12
drwxr-xr-x 5 larry larry 4096 Jun 21 01:29 .
drwxr-xr-x 5 root  root  4096 Jun 21 01:29 ..
drwx------ 2 larry larry 4096 Jun 21 01:29 .ssh
$ cd .ssh
-su: cd: .ssh: Permission denied   
也许我错过了docker的一些基本概念?只是从普通unix用户的角度来看

我也把它放在github中

您刚刚遇到了一个bug,它基本上说它们是在
chmod
之后运行时的
chown
问题

以下Dockerfile将起作用:

FROM ubuntu:latest

ENV HOME /home/larry

RUN useradd larry && echo 'larry:docker' | chpasswd
RUN echo "larry ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

# arrange ssh key
ADD larry.id_rsa $HOME/.ssh/id_rsa

RUN chown -R larry:larry $HOME
RUN \
    chmod 700 $HOME/.ssh &&\
    chmod 600 $HOME/.ssh/id_rsa

非常感谢这个bug的链接,我也注意到了解决方法,只是想知道更多关于这会发生什么以及为什么它在容器中看起来是正确的,这是aufs中的问题吗?我还有其他类似的许可问题,最好了解细节。你能提供更多的技术信息吗?很抱歉,我不知道这个问题的原因的任何细节。很好,请稍等,看看其他人是否可以评论更多。这可能是一个AUFS错误。非常感谢。我想知道,在经历了15年的Linux之后,我对Linux的了解还不够。非常感谢。