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/
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.
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