>백엔드 개발 >Golang >Docker에서 개인 GitHub Repos를 복제할 때 '치명적: 'https://github.com'에 대한 사용자 이름을 읽을 수 없습니다: 해당 장치 또는 주소가 없습니다' 오류를 해결하는 방법은 무엇입니까?

Docker에서 개인 GitHub Repos를 복제할 때 '치명적: 'https://github.com'에 대한 사용자 이름을 읽을 수 없습니다: 해당 장치 또는 주소가 없습니다' 오류를 해결하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-16 13:26:03964검색

How to Resolve

Docker: 개인 저장소 복제에 대한 GitHub SSH 키 문제 해결

개인 GitHub에서 golang 서비스를 활용하는 컨테이너를 실행하려고 할 때 저장소를 가져오는 중에 오류가 발생할 수 있습니다. 이러한 오류 중 하나는 GitHub SSH 공개 키를 읽는 문제와 관련이 있습니다.

문제:
실행할 때 go get github.com// Dockerfile 내에서 "치명적: 'https://github.com'에 대한 사용자 이름을 읽을 수 없습니다: 해당 장치 또는 주소가 없습니다."

원인:
이 오류는 SSH를 사용하여 GitHub에 인증하도록 Dockerfile이 제대로 구성되지 않았음을 나타냅니다. ssh-keyscan 명령은 공개 키와 원격 호스트 기록 간의 불일치를 드러냅니다.

해결책:
이 문제를 해결하려면 git config 명령을 GitHub 복제를 위해 기본 HTTPS 프로토콜 대신 SSH를 사용하도록 강제하는 Dockerfile입니다. 다음은 이 수정 사항이 포함된 Dockerfile의 예입니다.

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

이 수정된 Dockerfile은 SSH가 GitHub 복제에 사용되도록 보장하여 공개 키 읽기와 관련된 오류를 해결합니다. 또한 SSH를 설치하고 ID 키를 구성하는 데 필요한 단계도 포함되어 있습니다.

위 내용은 Docker에서 개인 GitHub Repos를 복제할 때 '치명적: 'https://github.com'에 대한 사용자 이름을 읽을 수 없습니다: 해당 장치 또는 주소가 없습니다' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.