Docker: プライベート リポジトリのクローン作成のための GitHub SSH キーの問題を解決する
プライベート GitHub から golang サービスを利用するコンテナを実行しようとしたときリポジトリの場合、go get プロセス中にエラーが発生する可能性があります。このようなエラーの 1 つは、GitHub SSH 公開キーの読み取りの問題に関連しています。
問題:
Dockerfile 内で go get 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://[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