Maison  >  Article  >  développement back-end  >  Comment accéder aux référentiels GitHub privés dans les conteneurs Docker ?

Comment accéder aux référentiels GitHub privés dans les conteneurs Docker ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-09 12:41:01809parcourir

How to Access Private GitHub Repositories in Docker Containers?

Docker : Récupération à partir de référentiels GitHub privés

Question :

Lors de la tentative d'utilisation d'un référentiel GitHub privé dans un Docker conteneur pour exposer un service Go, une erreur se produit lors du processus go get, citant un problème avec la validation de la clé publique. Comment ce problème peut-il être résolu ?

Réponse :

1. Assurez-vous des autorisations de clé SSH appropriées :

  • Vérifiez que les clés SSH privées et publiques ajoutées au Dockerfile (priv/id_rsa et priv/id_rsa.pub) disposent des autorisations appropriées (par exemple, chmod 600 ou chmod 700).

2. Forcer l'utilisation de SSH pour les opérations Git :

  • Ajoutez la ligne suivante au Dockerfile : RUN git config --global url.ssh://[email protected]/.insteadOf https ://github.com/, forçant git à utiliser SSH au lieu de HTTPS.

3. Exemple de Dockerfile :

FROM golang

RUN apt-get update && apt-get install -y ca-certificates git-core ssh

ADD keys/my_key_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/

ADD . /go/src/github.com/myaccount/myprivaterepo

RUN go get github.com/myaccount/myprivaterepo
RUN go install github.com/myaccount/myprivaterepo

Ce Dockerfile modifié inclut la configuration SSH et force l'utilisation de SSH pour les opérations Git, résolvant ainsi le problème rencontré lors du processus go get.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn