Maison > développement back-end > Golang > le corps du texte

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

DDD
Libérer: 2024-11-08 17:28:02
original
633 Les gens l'ont consulté

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

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal