Docker : Récupération à partir de référentiels GitHub privés à l'aide de "go get"
Lors de la tentative d'exécution d'un conteneur hébergeant un service Golang à partir d'un GitHub privé dépôt, vous pourriez rencontrer des difficultés si vous utilisez l'image google/debian:wheezy comme point de départ. Cette erreur survient lorsque "go get" tente de cloner le référentiel.
Le problème provient de difficultés de clonage du référentiel privé en raison de problèmes de validation de clé SSH. Notamment, bien que vous ayez ajouté les clés SSH GitHub au Dockerfile pour autoriser le clonage, il semble y avoir un problème de validation de la clé publique.
Pour résoudre ce problème, envisagez la solution suivante :
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
Cette solution implique l'installation de SSH et la création d'une clé privée dans le conteneur. Bien que ce ne soit pas idéal, il fournit une solution de contournement au problème de récupération de référentiels privés à l'aide de "go get" dans un environnement Docker basé sur Debian Wheezy.
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!