Docker環境にJenkinsコンテナをインストールする詳細なチュートリアル

Docker環境にJenkinsコンテナをインストールする詳細なチュートリアル

推奨される Docker 学習教材: https://www.runoob.com/docker/docker-tutorial.html

1. Centos7環境のDockerインストール

まず公式ウェブサイトにアクセスしてイメージをダウンロードします。docker 公式イメージ: https://hub.docker.com/

1. 最新バージョンをインストールする

yum をインストール -y yum-utils 
デバイスマッパー永続データ lvm2

2. dockerソースを追加する

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. Dockerをインストールする

yum で docker-ce をインストールします

注: Docker がインストールされているかどうかを確認してください。

yum list インストール済み | grep docker

アンインストールする場合は、次のコマンドを入力します。

 yum 削除 xxx xxxx xxx

4. /etc/docker/daemon.jsonで DNS、アクセラレータ、バインド IP を設定します。通常、daemon.json ファイルは存在しないため、自分で作成する必要があります。

{
 「DNS」: [
 「114.114.114.114」、
 「8.8.8.8」
 ]、
 #Accelerator は、イメージのダウンロード速度を上げることができます。Alibaba Cloud ミラー アドレス "registry-mirrors": ["https://registry-docker.com"] に設定することもできます。
 "bip":"172.17.5.1/24" 
}

5. インストール後、dockerのバージョンと情報を確認します

docker バージョン
docker情報

6. 仮想マシンの起動時にDockerが起動するように設定する

sudo chkconfig docker オン

7. Dockerを起動する

sudo サービス docker 開始

2. dockerでJenkinsをインストールする

1. 一般的に、管理の便宜上、コンテナのIPセグメントをカスタマイズします。ここでは、ネットワーク名をカスタマイズします: mynetwork

docker ネットワーク作成 --subnet=172.18.0.0/16 mynetwork

定義は完了しており、表示できます: docker network ls

2. jinkins イメージをダウンロードします。
フォーマット: docker pull image description: バージョン番号。バージョン番号が指定されていない場合は、デフォルトで最新バージョン番号がダウンロードされます: latest

docker pull jenkins/jenkins:latest

3. コンテナ アカウントを承認する コンテナの移行または再作成時に Jenkins が再インストールされないようにするには、最初のインストール時にデータを対応するディレクトリにマウントする必要があります。私の場合は、データをこのディレクトリにマウントします: /home/docker/data/jenkins 。コンテナ アカウントはホスト マシン上の 1000 に対応するため、マウント ディレクトリ/home/docker/data/jenkinsを承認する必要があります。承認しないと、コンテナの起動時に作成が失敗します。

 chown -R 1000 /home/docker/data/jenkins

4. コンテナを作成し、Linuxの起動時に起動し、固定IPを指定します。

docker run --net mynetwork --ip 172.18.0.4 
-v /home/docker/data/project/jenkins:/home/docker/data/jenkins 
-v /home/docker/var/jenkins/jenkins_home:/var/jenkins_home 
-v /etc/localtime:/etc/localtime
-e JAVA_OPTS=-Duser.timezone=アジア/上海 
-dit --name マイジェンキンス 
-p 8080:8080 -p 50000:50000 
--restart=常にjenkins/jenkins:latest

説明する:
1. -v /home/docker/data/project/jenkins:/home/docker/data/jenkins
このディレクトリは、ホスト マシン上でスクリプトの作成と実行を容易にするためにマウントされており、Jenkins コンテナーもこれを呼び出すことができます。

2. -v /home/docker/var/jenkins/jenkins_home:/var/jenkins_home
このディレクトリは、Jenkinsの再インストールなしで移行を容易にするためにマウントされています。

注意: ポート番号-p 50000:50000デフォルトであり、変更しないでください。ポート番号-p 8080:8080のみ、必要に応じて設定できます。

6. インストールが成功しました。次の点を確認してください。

docker ps -a | grep ジェンキンス

ここに画像の説明を挿入

5. コンテナを入力します。
ルートユーザーとして:

docker exec -it -u root my-jenkins /bin/bash

デフォルトユーザー: docker exec -it my-jenkins /bin/bash

6. コンテナに初めて vim コマンドをインストールします。

apt-getアップデート

apt-get で vim をインストール

7. コンテナから出るには 2 つの方法があります。
1) 終了
2) Ctrl + P + Q

要約する

これで、docker 環境に jenkins コンテナをインストールする方法についての記事は終了です。docker 環境に jenkins コンテナをインストールする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する
  • Docker+K8S+GitLab/SVN+Jenkins+Harbor をベースにした継続的インテグレーション配信環境の構築に関する詳細なチュートリアル
  • Docker環境でJenkinsを設定すると、タスクをビルドするときにコンソールログに文字化けした中国語の文字が表示されます
  • DockerでJenkins環境を起動する際の問題について

<<:  リアルタイムクロックを実装するネイティブJS

>>:  myisamchk および mysqlcheck ツールを使用して破損した MySQL データベース ファイルを迅速に修復する方法

推薦する

MySQL データをエクスポートする際の secure-file-priv 問題の解決方法

エラー 1290 (HY000) : MySQL サーバーは –secure-file-priv オ...

クロスドメイン js フロントエンドの 8 つの実装ソリューション

目次1. jsonp クロスドメイン2. document.domain + iframe クロスド...

CentOS 7にMySQLをインストールする詳細な手順

CentOS7では、MySQLをインストールすると、MariaDBもデフォルトでインストールされます...

MySQL のテーブル内のレコード数を制限する方法

目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...

パゴダパネルとドッカーを使用して Gogs をインストールするプロセス全体

目次1 Baota Software StoreにDockerをインストールする2 ゴグスイメージを...

インターネットウェブデザインにおけるバイオニックデザインの簡単な紹介

バイオニックデザインといえば、飛行機の発明、ドバイのブルジュ・アル・アラブ、平泳ぎなどを思い浮かべる...

ウェブページ制作と饅頭の関係(体験の共有)

昨日は遅くまで寝ていて、一日中起きていました。私の年齢では、夜更かしして本を書くのはもう無理のようで...

MySQL InnoDB テーブルスペース暗号化の例の詳細な説明

序文MySQL 5.7.11 以降、MySQL は、別の表領域に格納された InnoDB テーブルの...

Linux の sudo 脆弱性により不正な特権アクセスが発生する可能性がある

Linux で新たに発見された sudo の脆弱性を悪用すると、特定のユーザーが root としてコ...

nginx を最適化する 6 つの方法

1. Nginxの同時実行性を最適化する [root@proxy ~]# ab -n 2000 -c...

フォーム入力ボックスに関するWebデザインのヒント

この記事では、Web デザインにおけるフォーム入力ボックスに関するヒントとコードをいくつか紹介します...

Node.js とブラウザのグローバル オブジェクトの違いの概要

Node.js では、.js ファイルは完全なスコープ (モジュール) です。したがって、var に...

Vueプロジェクトでパラメータジャンプ機能を実装する

ページの説明:​ メインページ: 名前 —> shishengzuotanhuichaxun ...

Linux システムで HugePages をすばやく構成するための完全な手順

序文Linux システムの HugePages と Oracle データベースの最適化については、関...

CSS 背景画像を設定するための 6 つの興味深いヒント

background-image は、おそらくすべてのフロントエンド開発者がキャリアの中で少なくとも...