Docker:解決私有倉庫複製的GitHub SSH 金鑰問題
嘗試執行使用私有GitHub 上的golang 服務的容器時儲存庫,您在go get 過程中可能會遇到錯誤。其中一個錯誤與讀取 GitHub SSH 公鑰的問題有關。
問題:
運行時 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://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 和配置身份金鑰的必要步驟。
以上是在 Docker 中複製私有 GitHub 儲存庫時,如何解決「致命:無法讀取「https://github.com」的使用者名稱:沒有此類裝置或位址」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!