我尝试将ssh私钥添加到Dockerfile中进行构建,但奇怪的是,即使看起来我有完全的权限,我仍然无法访问它。
这里是
也许我错过了一些关于Docker的基本概念?从普通Unix用户的角度来看有点奇怪。我也在Github上发布了这个问题: https://github.com/dotcloud/docker/issues/1295#issuecomment-46700769
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
我构建了镜像并进入容器,然后切换到用户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上发布了这个问题: https://github.com/dotcloud/docker/issues/1295#issuecomment-46700769