在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-keyscanopenssh-client比ssh包有更小的占用空间。