用于克隆私有git回购的Dockerfile?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

我试图从GitHub克隆私有的git存储库。我做了一个这样的Dockerfile:

FROM ubuntu:12.04

RUN apt-get update
RUN apt-get install -y git
RUN mkdir -p /root/.ssh/
ADD ./id_rsa /root/.ssh/id_rsa
RUN git clone git@github.com:usr/repo.git

我在本地使用这个钥匙的回购很好,所以我好像在码头里漏掉了什么东西。

还有一件事我可能会错过,那就是~$HOME内部码头指向/而不是/root但我不确定这是否相关。

提问于
用户回答回答于

构建过程的输出是什么?

随机猜测:试着chmod 600私钥。

如果它仍然不起作用,试着RUN ssh -v git@github.com(在添加键后);输出应该解释正在发生的事情。

用户回答回答于

运行ssh-keyscangithub.com>>~/.ssh/known_hosts

键扫描功能很好,因为它接受主机。以下完整的答案奏效了:

RUN mkdir -p /root/.ssh
RUN cp /var/my-app/id_rsa /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts

此外,如上文所述:

RUN ssh -v git@github.com

调试流程的好方法。

扫码关注云+社区