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 実装のアイデアとサンプル コードを取得する

推薦する

Angularルーティングサブルートの詳細な説明

目次1. サブルート構文2. 例1. 2つの新しいコンポーネントを作成し、その内容を変更する2. ル...

IE環境では、divの高さはフォントの高さよりも大きくなければならないと規定されています。

コードをコピーコードは次のとおりです。 <div class="content&qu...

Lua モジュールを使用して WAF を実装する Nginx の原理の分析

目次1. WAFの背景2. WAFとは3. 動作原理4. WAF機能5. WAFと従来のファイアウォ...

Linux デバイスに空き容量がありません inode の満杯により 500 エラーが発生します

iノードとは何ですか? inode を理解するには、まずファイル ストレージから始める必要があります...

Mysql 8.0.17 winx64バージョンのインストール中に発生した問題を解決する

1. my.iniファイルを手動で作成して追加する # クライアントセクション # --------...

Linux で MySQL 5.6 X64 バージョンをインストールする詳細な手順

環境: 1. CentOS6.5 X64 2.mysql-5.6.34-linux-glibc2.5...

Mysql関数呼び出しの最適化の詳細な説明

目次関数呼び出しの最適化関数呼び出しの最適化MySQL 関数は、内部的に決定論的または非決定論的とし...

Dockerを使用してPythonランタイム環境の基本イメージを作成する方法

1. 準備1.1 Pythonインストールパッケージをダウンロードします(注:Pythonバージョン...

MySQLの基礎知識学習ノート

データベースを表示show databases;データベースを作成するDATABASE データベース...

CUDA8.0とCUDA9.0はUbuntu16.04で共存します

序文Github にある以前のコードには、CUDA 8.0 環境が必要なものもあります。初心者の場合...

css n番目から始まるすべての要素を取得する

具体的なコードは次のとおりです。 <div id="ボックス"> &...

Vue の NetEase Cloud Music Player インターフェースを模倣したシンプルな実装プロセス

仕事のプロジェクトのニーズにより、曲の再生が必要となり、さまざまな資料を参考にして、NetEase ...

HTML テーブル タグ チュートリアル (36): テーブル ヘッダーの背景色属性 BGCOLOR

<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...

MySql データベースにおける単一テーブル クエリと複数テーブル結合クエリの効率の比較

この間、プロジェクトに取り組んでいるときに、データ間の接続が非常に複雑なモジュールに遭遇しました。テ...

TSで最も一般的な宣言マージ(インターフェースマージ)

目次1. マージインターフェース1.1 非関数メンバー1.2 関数メンバー序文:今日お話ししたいのは...