Maison > développement back-end > Golang > Comment récupérer un package à partir d'un dépôt GitHub privé avec Go Get dans un conteneur Docker ?

Comment récupérer un package à partir d'un dépôt GitHub privé avec Go Get dans un conteneur Docker ?

DDD
Libérer: 2024-11-08 16:56:02
original
695 Les gens l'ont consulté

How to Fetch a Package from a Private GitHub Repo with Go Get in a Docker Container?

Docker : Récupération à partir d'un dépôt GitHub privé avec Go Get

Problème

Exécuter go get dans un conteneur Docker pour récupérer un package à partir d'un dépôt privé Le référentiel GitHub entraîne une erreur en raison de problèmes avec le public SSH clé.

Solution

Pour résoudre le problème, suivez les étapes suivantes :

  • Installez SSH et ajoutez votre clé privée au conteneur.
  • Forcez l'utilisation de SSH au lieu de HTTPS en ajoutant une configuration au fichier .ssh/config du conteneur.
  • Ajoutez votre référentiel dans le conteneur et exécutez go get pour récupérer le package.

Code

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
Copier après la connexion

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 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