在Dockerfile中找不到ssh-keys
我有一个简单的Dockerfile,完全如下:
FROM ubuntu:14.04 RUN apt-get update RUN apt-get -y upgrade RUN mkdir -p /root/.ssh RUN touch /root/.ssh/known_hosts RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
运行的结果:
docker build -no-cache -t testimage .
是:
Step 5 : RUN ssh-keyscan github.com >> /root/.ssh/known_hosts ---> Running in e11ef5962a11 /bin/sh: 1: ssh-keyscan: not found
你需要先安装ssh。
RUN apt-get -yq update && \ apt-get -yqq install ssh
然后,各种ssh命令(包括ssh-keyscan
)将可用。
这是我在我的sshd
图像Dockerfile中做的 。
我用它来将localhost
添加到我的.ssh/known_hosts
中,以便在sshd
服务器上进行一些本地testing。
正如下面由pjotr-dolphin所评论的那样 :
如果你只是在
ssh-keyscan
,openssh-client
比ssh包有更小的占用空间。