【问题标题】:Docker RUN fails with "returned a non-zero code: 6"Docker RUN 失败并显示“返回非零代码:6”
【发布时间】:2016-03-01 21:09:59
【问题描述】:

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

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

但是当我尝试构建我的图像时,它失败了:

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

但是,如果我删除这些行,构建映像,ssh 到容器上并从 bash 手动运行命令,它会完美运行。

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

【问题讨论】:

    标签: docker scp dockerfile docker-machine sshpass


    【解决方案1】:

    退出码6的意思是“主机公钥未知。sshpass不确认新密钥就退出。”

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

    更新后的行如下所示:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-11
    • 2018-03-23
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    相关资源
    最近更新 更多