Maison > Article > développement back-end > 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 ?
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/
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
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!