Maison > développement back-end > Golang > Comment résoudre l'erreur « fatal : impossible de lire le nom d'utilisateur pour « https://github.com » : aucun appareil ou adresse de ce type » lors du clonage des dépôts GitHub privés dans Docker ?

Comment résoudre l'erreur « fatal : impossible de lire le nom d'utilisateur pour « https://github.com » : aucun appareil ou adresse de ce type » lors du clonage des dépôts GitHub privés dans Docker ?

Barbara Streisand
Libérer: 2024-11-16 13:26:03
original
954 Les gens l'ont consulté

How to Resolve

Docker : résolution des problèmes clés SSH de GitHub pour le clonage de dépôts privés

Lors de la tentative d'exécution d'un conteneur qui utilise un service Golang à partir d'un GitHub privé référentiel, vous pouvez rencontrer des erreurs pendant le processus de récupération. L'une de ces erreurs est liée à des problèmes de lecture de la clé publique GitHub SSH.

Problème :
Lors de l'exécution, allez sur github.com// dans un Dockerfile, le processus échoue avec l'erreur : "fatal : impossible de lire le nom d'utilisateur pour 'https://github.com' : aucun appareil ou adresse de ce type."

Cause :
Cette erreur indique que le Dockerfile n'est pas correctement configuré pour s'authentifier auprès de GitHub à l'aide de SSH. La commande ssh-keyscan révèle une incompatibilité entre la clé publique et l'enregistrement de l'hôte distant.

Solution :
Pour résoudre ce problème, vous devez ajouter une commande git config à votre Dockerfile qui force l'utilisation de SSH au lieu du protocole HTTPS par défaut pour le clonage GitHub. Voici un exemple de Dockerfile qui intègre ce correctif :

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://git@github.com/.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 Dockerfile révisé garantit que SSH est utilisé pour le clonage de GitHub, corrigeant l'erreur liée à la lecture de la clé publique. Il comprend également les étapes nécessaires pour installer SSH et configurer la clé d'identité.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal