Docker: 프라이빗 Repo 복제에 대한 GitHub SSH 키 문제 해결
프라이빗 GitHub에서 golang 서비스를 활용하는 컨테이너를 실행하려고 할 때 저장소를 가져오는 동안 오류가 발생할 수 있습니다. 이러한 오류 중 하나는 GitHub SSH 공개 키를 읽는 문제와 관련이 있습니다.
문제:
실행할 때 Dockerfile 내에서 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://[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
이 수정된 Dockerfile은 GitHub 복제에 SSH가 사용되도록 보장하여 공개 키 읽기와 관련된 오류를 해결합니다. 또한 SSH를 설치하고 ID 키를 구성하는 데 필요한 단계도 포함되어 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3