」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在 Docker 中複製私有 GitHub 儲存庫時,如何解決「致命:無法讀取「https://github.com」的使用者名稱:沒有此類裝置或位址」錯誤?

在 Docker 中複製私有 GitHub 儲存庫時,如何解決「致命:無法讀取「https://github.com」的使用者名稱:沒有此類裝置或位址」錯誤?

發佈於2024-11-21
瀏覽:996

How to Resolve

Docker:解決私有倉庫複製的GitHub SSH 金鑰問題

在嘗試執行使用私人GitHub 上的golang 服務的容器時儲存庫,您在go get 過程中可能會遇到錯誤。其中一個錯誤與讀取 GitHub SSH 公鑰的問題有關。

問題:
在 Dockerfile 中執行 go get github.com//時,該過程失敗並出現錯誤:「致命:無法讀取「https://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