DockerでGit環境を構築して構成するプロセス

DockerでGit環境を構築して構成するプロセス

DockerでGit環境を構成する

仕事上、Docker 環境で GitLab リポジトリを操作する必要があるシナリオに遭遇したため、事前に Docker で Git 環境を構築する必要がありました。

Docker での Git リポジトリの操作は完全に自動化されているため、リポジトリの pull や submit の操作はパスワードなしで実行する必要があります。ここでは SSH を使用してパスワードなしで操作を実行します。

したがって、最初に SSH を設定し、次に Docker 環境を設定します。

SSHキーの設定

まずSSHキーを生成します:

sshエージェント
$(ssh-agent -s) を評価する
ssh-keygen -o -t rsa -b 4096 -C "{ユーザー名}"
ssh-add ~/.ssh/id_rsa //.bashrcに追加

GitLab ページに移動してログインし、「設定」を選択します。

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

左側のナビゲーション バーで SSH キーを選択します。

以前に生成した公開鍵id_rsa.pubファイル (ファイルは~/.ssh/id_rsa.pubにあります) を次の領域にコピーします。

ここに画像の説明を挿入

次に、「キーの追加」をクリックします。

ここに画像の説明を挿入

このようにして、SSH 公開鍵は GitLab ユーザーにバインドされ、今後そのユーザーを使用して Git リポジトリに対してパスワードなしの操作を実行できるようになります。

Docker環境を構成する

まず、秘密鍵を Dockerfile と同じディレクトリにコピーし (プロジェクト内に Dockerfile があると仮定)、Dockerfile を構成します。

# GitLabのSSH環境を設定する
mkdir -p /root/.sshを実行します。
id_rsa /root/.ssh/ をコピーする
実行 echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config \
    && echo "UserKnownHostsFile /dev/null" >> /etc/ssh/ssh_config
git config --global user.email "[email protected]" を実行します。\ 
    && git config --global user.name "ユーザー名"

このコードを挿入するだけです。user.email と user.name には、以前に GitLab SSH キーを設定したアカウント番号を使用します。

この時点で、Docker 内の Git リポジトリをパスワードなしで操作できます。

起こりうるエラー

以下のエラーがまだ存在する場合:

ここに画像の説明を挿入

これはid_rsa 權限問題,通過在Dockerfile 中加入

chown 1000:1000 /root/.ssh/id_rsa を実行します。

問題は解決しました。

以上で、Docker で Git 環境を構築・設定する手順についての説明は終了です。Docker で Git 環境を構築する方法の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker+K8S+GitLab/SVN+Jenkins+Harbor をベースにした継続的インテグレーション配信環境の構築に関する詳細なチュートリアル
  • Docker ベースの GitLab 環境をデプロイする方法と手順
  • Dockerを使用してクローンリポジトリを使用してGitイメージを構築する
  • Dockerを使用してGitlabを素早くデプロイする方法
  • Docker-compose ワンクリックデプロイ gitlab 中国語版の方法手順
  • Centos7はdockerを使ってgitlabサーバーを構築する
  • Dockerを使用してgitlabを構築する詳細な説明

<<:  HTML コマンドラインインターフェースの実装

>>:  MySQL シリーズ 9 MySQL クエリ キャッシュとインデックス

推薦する

Webフォーム作成スキル

実際、上記の 3 つの表はいずれも 3 行 3 列です。区切り線を非表示にするコツはルールにあります...

Vueでショッピングカートのすべての機能を実装する簡単な方法

主な機能は次のとおりです。製品情報を追加する製品情報を変更する単一の製品を削除する複数の製品を削除す...

CSS3 を使って本のページめくり効果を実現するサンプルコード

重要なポイント: 1. CSS3 3Dアニメーションをマスターする2. ページめくり後のページ内容の...

Linux のソフトリンクとハードリンクの詳細な説明

目次1. ファイルとディレクトリの基本的な保存2. Inコマンドの紹介(1)lnコマンドの基本情報を...

Vue の動的メニュー、動的ルートの読み込みと更新の落とし穴

目次必要:アイデア:レッスン:テキストを共有する:要約する必要:インターフェイスからサブメニュー デ...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践の概要

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

CSS を使用して複数の方法で下揃えを実装するサンプル コード

会社のビジネス要件により、次の図の赤い領域の効果を達成する必要があります。 効果の説明: 1. 赤い...

MySQL の制限ページング最適化ソリューションの実装に関する簡単な説明

MySQL のページングステートメントの使用制限Oracle や MS SqlServer と比較す...

位置のいくつかの巧妙な応用の詳細な説明:sticky スティッキーポジショニング

背景: position:sticky はスティッキー配置とも呼ばれます。スティッキー配置の要素は、...

JTAを実装するためにAtomikosと組み合わせたTomcatについて

最近、プロジェクトは環境を切り替え、WebLogic を Tomcat に置き換えました。途中で発生...

mysql MDLメタデータロックの詳細な分析

序文: MySQL で SQL 文を実行すると、予想した時間内に文が完了しません。このような場合、通...

コンパイル、インストールから設定ファイルの説明まで、中国語でnginxの詳細な説明

この記事では、コンパイルとインストールから設定ファイルの説明まで、Nginx について詳しく紹介しま...

泡の小さな鋭角効果を実現するCSS

効果画像(境界線の色が薄すぎるので、{} で囲みます): { }参考リンク Pure CSS バブル...

Windows サービス 2012 Alibaba Cloud サーバーで MySQL をビルドするときに msvcr100.dll ファイルが見つからないという問題を解決します

解決策1: msvcr100.dll ファイルをダウンロードし (インターネットからソース ファイル...