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 クエリ キャッシュとインデックス

推薦する

テーブルを使用してフォームコントロールの形式を調整し、見栄えを良くします。

自分でウェブページを書きたいので、HTML 言語についても少し勉強しています。これは、大学時代にウェ...

Vue echarts は水平棒グラフを実現します

この記事では、水平棒グラフを実現するためのvue echartsの具体的なコードを参考までに共有しま...

DockerToolBox ファイルマウント実装コード

docker を使用すると、ファイルをマウントできない場合があります。これは、仮想マシンの共有フォル...

Linux で特定の時間にコマンドを実行する方法

先日、rsync を使用して LAN 上の別のシステムに大きなファイルを転送していました。非常に大き...

ブログデザイン ウェブデザイン デビュー

私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...

MySQLデータベースのマスタースレーブレプリケーションの原理と機能の分析

目次1. データベースのマスター/スレーブ分類: 2. MySQL マスタースレーブの紹介3. マス...

Mysql SQL ステートメント演習 (50 問)

テーブル名とフィールド–1. 学生リスト学生 (s_id、s_name、s_birth、s_sex)...

Vue3でelement-plusを使用する方法の詳細な説明

目次1. インストール2. main.jsにインポートする3. 使用Vue3がリリースされてからしば...

Centos7はMySQLログに基づいてデータを復元するためのサンプルコードを実装します

導入Binlog ログ、つまりバイナリ ログ ファイルは、データベースに対するユーザー操作の SQL...

MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します

1. SHOW PROCESSLISTコマンドSHOW PROCESSLIST は実行中のスレッド ...

Linux で Ceph 分散ソフトウェアをインストールして使用する方法に関するチュートリアル

目次序文1. 基本環境1. サービス配信2. ネットワーク構成(全ノード) 3. SSHパスワードフ...

純粋な CSS 実装 (スクリプトなし) HTML コマンド スタイルのツールチップ テキスト プロンプト効果

実行プロセスを分析します。マウスをノードに移動して、ノードにツールチップ実装を開くための識別子 (...

JavaScriptでカレンダー効果を素早く実装

この記事では、カレンダー効果を素早く実現するためのJavaScriptの具体的なコードを例として紹介...