gpt4 book ai didi

docker - 无法访问由 Dockerfile 中的 ADD/chown/chmod 创建的 docker 中自己的目录

转载 作者:行者123 更新时间:2023-12-04 23:21:38 28 4
gpt4 key购买 nike

我尝试从 Dockerfile 将 ssh 私钥添加到 docker 构建中,看起来我无法访问它,即使看起来我拥有完全权限

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 https://github.com/dotcloud/docker/issues/1295#issuecomment-46700769

最佳答案

你刚刚遇到了bug #6047基本上说他们是 chown 的问题运行时 chmod .

以下 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

关于docker - 无法访问由 Dockerfile 中的 ADD/chown/chmod 创建的 docker 中自己的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24357242/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com