docker-compose で Jenkins をインストールする際の実践的なメモ

docker-compose で Jenkins をインストールする際の実践的なメモ

ディレクトリを作成する

cd /usr/local/docker/
jenkins-docker を mkdir します
cd jenkins-docker

Dockerfileを作成する

vi Dockerファイル
# 以下は、jenkins/jenkins:lts のファイルの内容です。

ユーザー ルート
mkdir -p /usr/local/ && \ を実行します。
	cd /usr/local/ && \
	curl -fsSL https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz > /usr/local/apache-maven-3.6.3-bin.tar.gz && \
	tar xzf /usr/local/apache-maven-3.6.3-bin.tar.gz -C /usr/local/ && \
	rm -rf /usr/local/apache-maven-3.6.3-bin.tar.gz && \
	Apache Maven 3.6.3 のディレクトリを /usr/local/apache-maven-3.6.3/bin/mvn に変更します。
	ln -s /usr/local/apache-maven-3.6.3/bin/mvnyjp /bin/mvnyjp && \
	PATH=/usr/local/apache-maven-3.6.3/bin:$PATH をエクスポートします。

ユーザー jenkins

イメージを構築する

jenkins-jiacs:lts を実行します。

ホスト上のDockerのグループIDを表示する

cat /etc/group | grep docker

# [root@localhost jenkins-docker]# cat /etc/group | grep docker
ドッカー:x:994:
# 私の値は994ですが、実際の値によって異なります

Jenkinsコンテナを起動します(dockerコマンドラインで起動します)

# コンテナを起動する前に、/usr/local/docker/jenkins-docker/data フォルダを作成し、権限を付与します # /usr/local/docker/jenkins-docker/config/settings.xml このファイルはそれ自体で提供されます (プライベートサーバーおよびその他の情報はカスタマイズできます)
mkdirデータ
chmod -R 777 データ

docker run -d -p 8080:8080 -p 50000:50000 \
    -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home \
    -v /etc/localtime:/etc/localtime:ro \
    -v /var/run/docker.sock:/var/run/docker.sock \
    ディレクトリのパスは /etc/docker です。
    ディレクトリを /usr/bin/docker に変更します。
    ローカルディレクトリを docker-compose ディレクトリにコピーします。
    -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml \
    --グループ追加=994 \
    --name マイジェンキンス \
    ジェンキンス-jiacs:lts
# 例:
# 1. -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home =》Jenkins データを永続化します。# 2. -v /etc/localtime:/etc/localtime:ro =》Jenkins コンテナの時間をホストと一致するように設定します。# 3. -v /etc/docker:/etc/docker =》Jenkins コンテナで使用される docker は、ホストにインストールされている docker であり、Jenkins によってデプロイされたサービスがホストで開始されるようにします。# 4. -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose ホストに docker-compose がインストールされている場合、Jenkins コンテナがそれを使用する必要がある場合は、データ ボリュームを追加できます。# -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml
# --group-add=994 起動したコンテナのユーザーグループをホストマシンのdockerのユーザーグループに設定し、Jenkinsコンテナがホストマシンのdockerコマンドを操作する権限を持っていることを確認します。

Jenkinsコンテナを起動します(docker-compose start)

cd /usr/local/docker/jenkins-docker
jenkins-docker.yaml をviで開きます
version: '2' # バージョン番号を変更しないでください。一部のバージョンでは、group_add パラメータ サービスがサポートされていません。
  ジェンキンス:
    画像: 'jenkins-jiacs:lts'
    コンテナ名: my-jenkins
    # 再起動: 常に
    ポート:
      - '8080:8080'
      - '50000:50000'
    グループ追加:
      - 994
    ボリューム:
      - ./data:/var/jenkins_home
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/docker:/etc/docker
      - /usr/bin/docker:/usr/bin/docker
      - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
      - ./config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml

起動する

docker-compose -f jenkins-docker.yaml アップ -d

コンテナを表示

ドッカーps 

ここに画像の説明を挿入

コンテナに入る

docker exec -it 0d8b70ba5cec bash
# Jenkinsの初期パスワードを表示する(コンテナ内で実行)
cat /var/jenkins_home/secrets/initialAdminPassword

ブラウザを開いてJenkinsサービスにアクセスします

http://<ホストIP>:8080/

先ほど見つけた初期パスワードを入力してください

ここに画像の説明を挿入

インストールする推奨プラグインを選択し、プラグインがインストールされるまで待ちます (少し時間がかかります)。一部のプラグインのインストールに失敗した場合は、[再試行] をクリックしてインストールを続行するか、失敗したプラグインを記録して、[システム構成] - [プラグイン構成] で手動でインストールすることができます。

ここに画像の説明を挿入

Jenkinsのタイムゾーンを変更する

システム管理 > スクリプトコマンドラインで、次のコマンドを入力し、[実行]をクリックします。

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'アジア/上海')

インストール完了

これで、docker-compose を使用した Jenkins のインストールに関するこの記事は終了です。docker-compose を使用した Jenkins のインストールの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker で Jenkins-2.249.3-1.1 をインストールする詳細な手順
  • 初心者向けに Docker に Jenkins をインストールする方法を詳しく説明したチュートリアル
  • Dockerを使用してJenkinsをインストールする方法
  • Docker環境にJenkinsコンテナをインストールする詳細なチュートリアル
  • DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する
  • Docker を使用して Jenkins をインストールするためのサンプル コード
  • Jenkins の Docker のデプロイとインストール手順

<<:  img タグの src 属性値が空の場合の 2 つのリクエストの問題 (IE 以外のブラウザ)

>>:  iframe テクニックを使用して訪問者 QQ 実装のアイデアとサンプル コードを取得する

推薦する

JavaScriptで計算機機能を実現するプロセスの詳細な説明

目次1. 電卓機能の紹介2. 計算機ページのデザイン1. ナビゲーションバー2. データ部分3. i...

nginx がアップストリーム アドレスにジャンプしない問題の解決方法

序文今日、nginx で非常に奇妙な問題に遭遇しました。フロントエンドの tomcat がページにジ...

Mysql 5.7.19 無料インストール版 (64 ビット) の設定方法に関する詳細なチュートリアル

公式サイトから mysql-5.7.19-winx64 をダウンロードします。これはシステムの 64...

ミニプログラムにより、製品属性の選択や仕様の選択が可能

この記事では、ミニプログラムで製品属性選択または仕様選択を実装するための具体的なコードを参考までに共...

CSS3 はクールな 3D 回転遠近法効果を実現します

CSS3はクールな3D回転パースペクティブを実現します3D アニメーション効果はますます人気が高まっ...

Kylin V10 サーバーで Storm をコンパイルしてインストールする詳細なプロセス

1 はじめにApache Storm は、Hadoop と同様に、大量のデータを処理するために使用で...

Centos サーバーで nginx を設定する方法の例

セキュアターミナルMobaXterm_Personalをダウンロードまず、安全なターミナルをダウンロ...

虫眼鏡コンポーネントのネイティブ js 実装

この記事の例では、参考までに虫眼鏡コンポーネントを開発するためのjsの具体的なコードを共有しています...

MySql インポート CSV ファイルまたはタブ区切りファイル

別のライブラリから別のライブラリにデータをインポートする必要がある場合があり、このデータは CSV ...

uniappを使用してWeChatミニプログラムでEChartsを使用する方法

今日は、uniapp を使用して Echarts を統合し、マップ チャートを表示します。 mpvu...

アニメーションとトランジションの違い

CSS3アニメーションとJSアニメーションの違いJSはフレームアニメーションを実装しますCSS3はト...

ドメイン名、ポート、IPに基づいてnginx仮想ホストを構築する

nginxでサポートされている仮想ホストには3つの種類があります1. ドメイン名ベースの仮想ホスティ...

Vueはユーザー名が使用可能かどうかの検証を実装します

この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...

jsはシンプルなショッピングカートモジュールを実装します

この記事の例では、参考までに、シンプルなショッピングカートモジュールを実装するためのjsの具体的なコ...

MySQL マスター/スレーブ ステータスを監視するシェル スクリプト

Linuxでシェルスクリプトを共有して、MySQLのマスタースレーブ状態を監視し、エンタープライズW...