Docker:解決私有倉庫複製的GitHub SSH 金鑰問題
在嘗試執行使用私人GitHub 上的golang 服務的容器時儲存庫,您在go get 過程中可能會遇到錯誤。其中一個錯誤與讀取 GitHub SSH 公鑰的問題有關。
問題:
在 Dockerfile 中執行 go get github.com/
原因:
此錯誤表示Dockerfile 未正確配置為使用SSH 向GitHub 進行驗證。 ssh-keyscan 指令顯示公鑰與遠端主機的記錄不符。
解決方案:
要解決此問題,您需要將 git config 命令新增至您的Dockerfile 強制使用 SSH 而不是預設的 HTTPS 協定進行 GitHub 複製。以下是包含此修復的 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 確保使用 SSH 進行 GitHub 克隆,解決了與讀取公鑰相關的錯誤。它還包括安裝 SSH 和配置身份金鑰的必要步驟。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3