从Docker容器克隆私有Github repo

从Docker容器克隆私有Github repo,docker,github,Docker,Github,我需要创建一个Docker映像来克隆Github repo(作为参数发送),并使用它执行一些操作。对于公共回购,我没有问题,但是对于私人回购,我如何在Docker容器中克隆它们?我们已经完成了以下工作: COPY github.pub /root/.ssh/id_rsa.pub RUN chmod 700 /root/.ssh/id_rsa.pub COPY github /root/.ssh/id_rsa RUN chmod 700 /root/.ssh/id_rsa RUN chown -R

我需要创建一个Docker映像来克隆Github repo(作为参数发送),并使用它执行一些操作。对于公共回购,我没有问题,但是对于私人回购,我如何在Docker容器中克隆它们?

我们已经完成了以下工作:

COPY github.pub /root/.ssh/id_rsa.pub
RUN chmod 700 /root/.ssh/id_rsa.pub
COPY github /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN chown -R root:root /root/.ssh
RUN touch /root/.ssh/known_hosts
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
  • 创建一个用于读取回购协议的GitHub帐户
  • 为此帐户创建私钥
  • 询问希望我们阅读他们的回购协议的人,将此用户添加到具有只读访问权限的回购协议
然后,在需要阅读回购协议的Docker图像中,我们有以下内容:

COPY github.pub /root/.ssh/id_rsa.pub
RUN chmod 700 /root/.ssh/id_rsa.pub
COPY github /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN chown -R root:root /root/.ssh
RUN touch /root/.ssh/known_hosts
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
其中
guthub.pub
github
是SSH密钥的文件


使用这种机制,您只需要求他们将您的GitHub帐户添加为回购协议的读卡器,而无需要求他人提供私钥或更复杂的设置,这非常方便。

您目前正在做什么,以及您面临的具体问题是什么?检查讨论的任何解决方案是否符合您的需要。