"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment utiliser « go get » pour récupérer des référentiels GitHub privés dans un conteneur Docker Debian Wheezy ?

Comment utiliser « go get » pour récupérer des référentiels GitHub privés dans un conteneur Docker Debian Wheezy ?

Publié le 2024-11-20
Parcourir:184

How to Use

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 :

  1. Installez SSH et configurez Git pour utiliser SSH :
RUN apt-get update && apt-get install -y ca-certificates git-core ssh
  1. Ajouter la clé privée au conteneur :
ADD keys/my_key_rsa /root/.ssh/id_rsa
  1. Définir les autorisations sur le Clé :
RUN chmod 700 /root/.ssh/id_rsa
  1. Configurer Git pour forcer SSH pour GitHub :
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
  1. Définissez la préférence d'URL Git SSH :
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/
  1. Ajouter le référentiel privé au Docker Image :
ADD . /go/src/github.com/myaccount/myprivaterepo
  1. Exécutez "go get" et installez le package :
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 qu'il 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.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3