我需要创建一个Docker映像,该映像将克隆Github存储库(作为参数发送)并对其执行一些操作。对于公共存储库,我没有问题,但是对于私有存储库,如何将它们克隆到Docker容器中?
答案 0 :(得分:3)
我们已完成以下操作:
然后,在需要读取存储库的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帐户添加为该存储库的读取者即可,而无需要求人们提供私钥或更复杂的设置,这非常方便。