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/* ./