Maison  >  Article  >  développement back-end  >  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
DDDoriginal
2024-11-08 16:56:02594parcourir

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

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