ホームページ > バックエンド開発 > Golang > SSH 認証でプライベート GitLab モジュールを使用して Go アプリを Docker 化する方法

SSH 認証でプライベート GitLab モジュールを使用して Go アプリを Docker 化する方法

Mary-Kate Olsen
リリース: 2024-12-26 15:33:10
オリジナル
608 人が閲覧しました

How to Dockerize Go Apps Using Private GitLab Modules with SSH Authentication?

プライベート GitLab モジュールを使用して Go アプリを Docker 化する

プライベート GitLab モジュールを使用して Go アプリを Docker コンテナーに構築する場合、以下をセットアップすることが重要ですSSH 認証を効果的に。参照された質問の問題に対処する改善されたアプローチは次のとおりです。

Updated Dockerfile

GitLab からプライベート パッケージをプルするには、Dockerfile 内の次の行を変更します。

# Allow private repo pull
RUN git config --global url."https://my-personal-access-token:[email protected]/".insteadOf "https://gitlab.com/"
ログイン後にコピー

SSH構成

次のコマンドを更新して SSH キーを追加し、SSH を使用するように Git を構成します。

RUN mkdir ~/.ssh
RUN touch ~/.ssh/known_hosts
RUN ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts
ログイン後にコピー

Build Command

Use Docker の実験的な構文を使用し、 --mount=type=ssh オプションを指定して SSH を有効にします。マウント:

DOCKER_BUILDKIT=1 docker build --progress=plain --mount=type=ssh .
ログイン後にコピー

SSH 接続のデバッグ

SSH 接続の問題をデバッグするには、ビルド手順の前に次のコマンドを実行します:

RUN ssh -A -v -l git gitlab.com
ログイン後にコピー

AppArmorトラブルシューティング

AppArmor が原因でアクセス拒否エラーが発生した場合は、Docker apparmor プロファイル /var/lib/snapd/apparmor/profiles/snap.docker.docker を変更し、次の行を追加します:

/run/user/<uid>/keyring/ssh rw,
ログイン後にコピー

ここで docker build コマンドを実行するユーザー ID です。

Key Filename

認証に使用される SSH キーが id_rsa などのデフォルト名であることを確認します。 Docker の .ssh/config ファイルのホスト エントリを構成して、カスタム キー名を指定します。

次の手順に従ってください。 Docker コンテナ内で GitLab のプライベート モジュールを利用する Go アプリを構築できるようになります。

以上がSSH 認証でプライベート GitLab モジュールを使用して Go アプリを Docker 化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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