Maison >développement back-end >Golang >Comment Dockeriser des applications Go à l'aide de modules GitLab privés avec authentification SSH ?
Dockerize Go Apps avec des modules GitLab privés
Lors de la construction de vos applications Go dans un conteneur Docker avec des modules GitLab privés, il est crucial de configurer Authentification SSH efficace. Voici une approche améliorée qui résout les problèmes liés à la question référencée :
Dockerfile mis à jour
Pour extraire un package privé de GitLab, modifiez les lignes suivantes dans votre Dockerfile :
# Allow private repo pull RUN git config --global url."https://my-personal-access-token:[email protected]/".insteadOf "https://gitlab.com/"
Configuration SSH
Mettre à jour le commandes suivantes pour ajouter votre clé SSH et configurer Git pour utiliser SSH :
RUN mkdir ~/.ssh RUN touch ~/.ssh/known_hosts RUN ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts
Build Command
Utilisez la syntaxe expérimentale de Docker et spécifiez --mount=type= Option ssh pour activer le montage SSH :
DOCKER_BUILDKIT=1 docker build --progress=plain --mount=type=ssh .
Débogage SSH Connexion
Pour déboguer les problèmes de connectivité SSH, exécutez la commande suivante avant l'étape de construction :
RUN ssh -A -v -l git gitlab.com
Dépannage d'AppArmor
Si vous rencontrez des erreurs d'accès refusé en raison d'AppArmor, modifiez le profil Docker Apparmor /var/lib/snapd/apparmor/profiles/snap.docker.docker et ajoutez cette ligne :
/run/user/<uid>/keyring/ssh rw,
where
Nom de fichier clé
Assurez-vous que la clé SSH utilisée pour l'authentification a un nom par défaut, tel que id_rsa, ou configurez l'entrée Host dans le fichier .ssh/config de Docker pour spécifier le nom de clé personnalisé.
En suivant ces instructions, vous devriez pouvoir créez des applications Go qui utilisent des modules privés de GitLab dans un conteneur Docker.
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!