"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-21
Parcourir:388

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 chercher 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 de ce type ou adresse."

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://[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 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é.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3