「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Docker でプライベート GitHub リポジトリを複製する際の「致命的: 'https://github.com' のユーザー名を読み取れませんでした: そのようなデバイスまたはアドレスはありません」エラーを解決するにはどうすればよいですか?

Docker でプライベート GitHub リポジトリを複製する際の「致命的: 'https://github.com' のユーザー名を読み取れませんでした: そのようなデバイスまたはアドレスはありません」エラーを解決するにはどうすればよいですか?

2024 年 11 月 21 日に公開
ブラウズ:752

How to Resolve

Docker: プライベート リポジトリのクローン作成のための GitHub SSH キーの問題を解決する

プライベート GitHub から golang サービスを利用するコンテナを実行しようとしたときリポジトリの場合、go get プロセス中にエラーが発生する可能性があります。このようなエラーの 1 つは、GitHub SSH 公開キーの読み取りの問題に関連しています。

問題:
Dockerfile 内で go get github.com// を実行するとき、プロセスは次のエラーで失敗します:「致命的: 'https://github.com' のユーザー名を読み取れませんでした: そのようなデバイスはありません。またはaddress."

原因:
このエラーは、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