我正在尝试将私钥docker-upload
添加到docker容器中:
FROM centos:7
RUN yum -y -q install openssh-clients && \
yum clean all && \
rm -rf /var/cache/yum
RUN \
mkdir -p ~/.ssh && \
touch ~/.ssh/known_hosts && \
ssh-keyscan -p 2022 -t rsa hostname > ~/.ssh/known_hosts
COPY docker-upload ~/.ssh/
RUN ls -all ~/.ssh
使用
构建时 docker build --no-cache -t privateregistry.com/build-containers:upload .
我知道〜/ .ssh目录为空:
Step 5/7 : COPY docker-nerds-upload ~/.ssh/
---> 2bafa09dd03c
Step 6/7 : RUN ls -all ~/.ssh
---> Running in 1c74fc1d0e14
total 8
drwxr-xr-x 2 root root 4096 Apr 18 14:19 .
dr-xr-x--- 3 root root 4096 Apr 18 14:19 ..
-rw-r--r-- 1 root root 0 Apr 18 14:19 known_hosts
为什么COPY docker-upload ~/.ssh/
不将文件docker-upload
复制到docker容器中的~/.ssh
目录中?
答案 0 :(得分:2)
dest
是绝对路径,或相对于WORKDIR的路径 源将被复制到目标容器中。
不支持COPY的Tilde(~
)扩展。
答案 1 :(得分:1)
不知何故COPY
不喜欢~
作为路径。使用绝对路径
COPY docker-upload /root/.ssh