"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo resolver el error "fatal: no se pudo leer el nombre de usuario de 'https://github.com': no ​​existe tal dispositivo o dirección" al clonar repositorios privados de GitHub en Docker?

¿Cómo resolver el error "fatal: no se pudo leer el nombre de usuario de 'https://github.com': no ​​existe tal dispositivo o dirección" al clonar repositorios privados de GitHub en Docker?

Publicado el 2024-11-21
Navegar:203

How to Resolve

Docker: resolución de problemas clave de GitHub SSH para la clonación de repositorios privados

Al intentar ejecutar un contenedor que utiliza un servicio golang desde un GitHub privado repositorio, puede encontrar errores durante el proceso de obtención. Uno de esos errores está relacionado con problemas al leer la clave pública SSH de GitHub.

Problema:
Al ejecutar, vaya a get github.com// dentro de un Dockerfile, el proceso falla con el error: "fatal: no se pudo leer el nombre de usuario de 'https://github.com': no ​​existe tal dispositivo o dirección."

Causa:
Este error indica que Dockerfile no está configurado correctamente para autenticarse con GitHub usando SSH. El comando ssh-keyscan revela una discrepancia entre la clave pública y el registro del host remoto.

Solución:
Para resolver este problema, debe agregar un comando git config a su Dockerfile que fuerza el uso de SSH en lugar del protocolo HTTPS predeterminado para la clonación de GitHub. Aquí hay un Dockerfile de ejemplo que incorpora esta solución:

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

Este Dockerfile revisado garantiza que se utilice SSH para la clonación de GitHub, solucionando el error relacionado con la lectura de la clave pública. También incluye los pasos necesarios para instalar SSH y configurar la clave de identidad.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3