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

推薦する

Vue で Baidu Map を呼び出して経度と緯度を取得する

プロジェクトでは、現在地の緯度経度を取得したり、場所を検索して緯度経度情報を取得したりする必要があり...

MySQL 5.7.21 解凍バージョンのインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.21の解凍版をダウンロードしてインストールする詳細な手順を記録して...

CSS3 FlexBox の伸縮自在なレイアウトを 10 分で理解する

基本的な紹介特徴Flexbox は、よりシンプルで効率的なレイアウト方法を提供する CSS 表示タイ...

Linux でファイルを削除するときに「操作は許可されていません」というプロンプトが表示される場合の対処方法

同僚からよく聞かれるのですが、ファイル/ディレクトリを削除すると「操作は許可されていません」というエ...

Dockerカスタムネットワークの詳細な紹介

目次Dockerカスタムネットワーク1. カスタムネットワークの紹介2. カスタムネットワークを作成...

HTMLからReactを実装する方法を教えます

ReactとはReact は、効率的で高速なユーザー インターフェイスを構築するためのシンプルな J...

http.server に基づく LAN サーバーの構築プロセスの分析

皆さんはこのような状況に遭遇したことがあるでしょうか。プロジェクトや研究開発を行う際に、緊急にファイ...

Eclipse と IDEA 用に Tomcat サーバーを構成する方法

tomcat サーバーの構成誰もが Web について学習するときに、自分のツール用に Tomcat ...

JavaScript 状態コンテナ Redux の詳細な説明

目次1. Reduxを選ぶ理由2. Reduxデータフロー3つの原則4. Reduxソースコード分析...

ウェブページを白黒に変換します(Google、Firefox、IE、その他のブラウザと互換性があります)

CSSファイルに書き込むコードをコピーコードは次のとおりです。 01.html {グレイスケール(1...

MySQLを使用して列内の異なる値の数をカウントする例

序文この記事で実装されている要件は、実際には非常に一般的です。たとえば、ユーザーが登録したチャネルを...

Centos7 に PHP と Nginx をインストールする詳細なチュートリアル

Centos のサーバー側への適用がますます普及するにつれて、Centos7 もますます使用されるよ...

Docker バインディング固定 IP/クロスホストコンテナ相互アクセス操作

序文これまでは、パイプワークで割り当てた静的 IP は一時的なものであり、再起動すると無効になってい...

Linux ユーザーとグループのコマンド例分析 [切り替え、ユーザーの追加、権限制御など]

この記事では、Linux のユーザーおよびグループのコマンドについて例を挙げて説明します。ご参考まで...

vue3+electron12+dll 開発のためのクライアント構成の詳細な説明

目次リポジトリソースを変更する起動するvue-devtoolsを置き換える予防ボーダーレスウィンドウ...