タイトル:Docker で Jenkins をデプロイする
日付:2021 年 08 月 05 日 13:00:00
カテゴリ:学習ノート
Docker のインストール#
Docker の公式ウェブサイトで各システムのインストール方法を確認してください。このデモでは CentOS を使用します。
旧バージョンのアンインストール#
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
インストール方法#
公式にはいくつかのインストール方法がありますが、今回は最も簡単な方法を使用します。
リポジトリの設定#
yum-utils
パッケージをインストール(yum-config-manager
ユーティリティを提供)し、安定したリポジトリを設定します。
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Docker Engine のインストール#
- 最新バージョンの Docker Engine と containerd をインストールします。
$ sudo yum install docker-ce docker-ce-cli containerd.io
- Docker を起動します。
$ sudo systemctl start docker
hello-world
イメージを実行して、Docker Engine が正しくインストールされているかを確認します。
$ sudo docker run hello-world
Docker イメージを使用して Jenkins をインストールする#
イメージの取得#
イメージの取得が遅い場合は、ミラーソースを変更してください。ここではインストール方法の詳細は省略しますので、自分で検索してください。
$ docker pull jenkinsci/blueocean
取得が完了したら、docker images
コマンドで確認できます。
$ docker images
EPOSITORY TAG IMAGE ID CREATED SIZE
jenkinsci/blueocean latest 4428e9c342c6 2 weeks ago 699MB
jenkinsci/blueocean
イメージの使用#
$ docker run \
-d \
-u root \
-p 8080:8080 \
-v /root/jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$HOME":/home \
jenkinsci/blueocean
- -d:コンテナをバックグラウンドで実行し、コンテナ ID を返します。
- -u:root ユーザーとして実行します。
- -p:ポートマッピングを指定します。形式は「ホスト(ホスト)ポート:コンテナポート」です。
- -v:パスのマッピング
ここで-v /var/run/docker.sock:/var/run/docker.sock
は、Jenkins コンテナ内でホストの Docker を操作するためのものです。