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

推薦する

Win10 での MySQL 8.0.16 のインストールと設定のチュートリアル

1. MySQL 8.0.16を解凍する次の図に示すように、解凍後にdadaフォルダとmy.ini構...

Reactスロットの使い方

目次必要コアアイデアReactでスロットを実装する2つの方法必要コンポーネントを自分で書きました。コ...

MySQL でタイムスタンプを日付に変換する例

序文職場で次のような状況に遭遇しました。ログ システムのテーブルでは、時間フィールドには日付データで...

モバイル端末におけるビューポートの具体的な使用法についての簡単な説明

目次1. 基本概念1.1 2種類のピクセル1.2 3つのビューポート2. ビューポート設定3. 1回...

Ubuntu 18.04で国内ソースを変更する方法の例

Ubuntu はソースが中国からなのでダウンロード速度が比較的遅いです。CentOS と異なり、yu...

Alibaba Cloud ServerにMySQLデータベースをインストールする方法の詳細な説明

序文学習中に Zookeeper をインストールする必要があったため、仮想マシンに常に問題が発生した...

LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。

mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセ...

CentOS7にPostgreSQL11をインストールする方法

CentOS 7にPostgreSQL 11をインストールする PostgreSQL: 世界で最も先...

Vue ElementUI は非同期読み込みツリーを実装します

この記事の例では、vue ElementUI の非同期読み込みツリーを実装するための具体的なコードを...

MYSQLは継続サインイン機能を実装しており、サインイン後1日経過すると最初から開始します(SQL文)

1. テストテーブルを作成する テーブル `testsign` を作成します ( `userid`...

MySQL エラー 1290 (HY000) の解決方法

私は長い間問題に取り組み、文法上の問題を何度も確認しました。しかし、後でネットで調べてみたら、突然理...

vue3 コンポーネントでの v-model の使用と詳細な説明

目次v-model 入力で双方向バインディングデータを使用するコンポーネント内の v-model他の...

MySQL 8.0 以降の一般的なコマンドの詳細な説明

リモートアクセスを有効にする次のコマンドを実行して、root ユーザーのリモート アクセス権を有効に...

HTML ドロップダウン ボックスの SELECT オプションを変更する複数の方法

フォームが送信されると、返された HTML ページが再レンダリングされ、SELECT コントロールの...