Docker: 「go get」を使用したプライベート GitHub リポジトリからの取得
プライベート GitHub から golang サービスをホストするコンテナを実行しようとする場合リポジトリを作成する際に、出発点として google/debian:wheezy イメージを使用している場合、問題が発生する可能性があります。このエラーは、「go get」がリポジトリのクローンを作成しようとすると発生します。
この問題は、SSH キーの検証の問題によりプライベート リポジトリのクローンを作成することが困難であることが原因で発生します。特に、クローン作成を可能にするために GitHub SSH キーを Dockerfile に追加しましたが、公開キーの検証に問題があるようです。
この問題を解決するには、次の解決策を検討してください:
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
この解決策には、SSH をインストールし、コンテナーに秘密キーを構築することが含まれます。理想的ではありませんが、Debian Wheezy に基づく Docker 環境で「go get」を使用してプライベート リポジトリを取得する問題の回避策が提供されます。
以上が「go get」を使用して Debian Wheezy Docker コンテナ内のプライベート GitHub リポジトリからフェッチする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。