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

Barbara Streisand
リリース: 2024-11-16 13:26:03
オリジナル
901 人が閲覧しました

How to Resolve

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

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

問題:
実行中に、github.com// を取得します。 Dockerfile 内でプロセスが失敗し、「致命的: 'https://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://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 では、GitHub のクローン作成に SSH が使用されるようになり、公開キーの読み取りに関連するエラーが解決されます。また、SSH のインストールと ID キーの構成に必要な手順も含まれています。

以上がDocker でプライベート GitHub リポジトリを複製する際の「致命的: 'https://github.com' のユーザー名を読み取れませんでした: そのようなデバイスまたはアドレスはありません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート