docker运行失败,并返回一个非零代码:6

我在我的docker文件中有以下内容:

RUN sudo apt-get install sshpass -y RUN sshpass -p userPassword scp -r user@server:~/data/* ./ 

但是,当我尝试构build我的形象时失败:

 Exception caught: The command '/bin/sh -c sshpass -p userPassword scp -r user@server:~/data/* ./' returned a non-zero code: 6 -> [Help 1] 

但是,如果我删除这些线,build立图像,SSH到容器上,并手动运行命令从bash它完美的作品。

谁能告诉我如何解决这个问题?

退出代码6意味着“ 主机公钥是未知的, sshpass退出而不确认新的密钥”。

因此,要么在主机的指纹之前填充~/.ssh/known_hosts ,要么通过向scp添加StrictHostKeyChecking=no选项来忽略主机公钥的检查。

更新后的行将如下所示:

 RUN sshpass -p userPassword scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r user@server:~/data/* ./