作者:马璐720 | 来源:互联网 | 2023-05-24 17:28
我使用AWS ec2实例作为私有git存储库.此实例还用于运行Dockerfile和docker文件尝试从此私有存储库中检出代码.我的基本设置是根据https://alvinabad.wordpress.com/2013/03/23/how-to-specify-an-ssh-key-file-with-the-git-command/ option 2 完成的.但是,当我运行我的docker build命令时:
$ sudo docker build -t"spring-petclinic".
构建脚本在行停止:
RUN /root/.ssh/git.sh -i /root/.ssh/.pem clone ec2-user@ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com:/ usr/local/git-回购/弹簧petclinic.git
并获得以下错误:
"克隆到'spring-petclinic'...主机密钥验证失败.致命:无法从远程存储库中读取.请确保您拥有正确的访问权限并且存储库已存在."
我通过谷歌搜索此类错误,类似的设置,但无法搜索.
请帮忙!!!
谢谢
1> Nathaniel Wa..:
你看到的问题是它第一次连接到一个未知的主机,默认情况下SSH安全.如果以交互方式运行命令,系统会提示您将密钥添加到known_hosts文件中.
您可以将主机密钥添加到known_hosts
文件中(更好),也StrictHostKeyChecking
可以no
在ssh配置中设置(更糟糕).
感谢Nathaniel,我最终做了```RUN ssh-keyscan github.com >>/root/.ssh/known_hosts```,它们在dockerfile中自动执行你所描述的相同操作