「go get」を使用して Debian Wheezy Docker コンテナ内のプライベート GitHub リポジトリからフェッチする方法

DDD
リリース: 2024-11-08 17:28:02
オリジナル
633 人が閲覧しました

How to Use

Docker: 「go get」を使用したプライベート GitHub リポジトリからの取得

プライベート GitHub から golang サービスをホストするコンテナを実行しようとする場合リポジトリを作成する際に、出発点として google/debian:wheezy イメージを使用している場合、問題が発生する可能性があります。このエラーは、「go get」がリポジトリのクローンを作成しようとすると発生します。

この問題は、SSH キーの検証の問題によりプライベート リポジトリのクローンを作成することが困難であることが原因で発生します。特に、クローン作成を可能にするために GitHub SSH キーを Dockerfile に追加しましたが、公開キーの検証に問題があるようです。

この問題を解決するには、次の解決策を検討してください:

  1. SSH をインストールし、SSH を使用するように Git を構成します:
RUN apt-get update && apt-get install -y ca-certificates git-core ssh
ログイン後にコピー
  1. コンテナに秘密キーを追加します:
ADD keys/my_key_rsa /root/.ssh/id_rsa
ログイン後にコピー
  1. 秘密キーのアクセス許可を設定します:
RUN chmod 700 /root/.ssh/id_rsa
ログイン後にコピー
  1. 強制的に SSH を実行するように Git を構成しますGitHub:
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
ログイン後にコピー
  1. Git SSH URL 設定の設定:
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/
ログイン後にコピー
  1. プライベート リポジトリを Docker イメージに追加します:
ADD . /go/src/github.com/myaccount/myprivaterepo
ログイン後にコピー
  1. 「go get」を実行してパッケージをインストールします:
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 サイトの他の関連記事を参照してください。

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