今回はDockerfileを作成してJenkinsを起動してみたいと思います。
Dockerfileとは独自のDockerイメージを作成する事が可能となるファイルです。
1つのDockerfileを用意することで、複数のサーバーに同様の設定を行うことが可能なので、互換性等に悩まされることがなくなります。
#Dockerfile作成
まずは、Dockerfileを格納するディレクトリを作成します。
作成しましたら、Dockerfileの作成を行います。
mkdir <ディレクトリ名>
cd <ディレクトリ名>
vi Dockerfile
Dockerfileの中身を以下の通りに作成します。
# ベースイメージ
FROM jenkins:<タグ>
# インストールしたいプラグインを指定したい場合
USER root
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt
USER jenkins
プラグインを指定する場合のplugins.txt
ファイルは、<プラグイン名>:<バージョン>
という形式で記載します。
#Dockerfileのビルドと起動
Dockerfileの作成が完了しましたら、ビルドを実行します。
Successfully built
と表示されれば完了です。
docker build -t <任意のイメージ名> .
ビルド完了後、以下のコマンドを実行します。
docker run -p 8080:8080 -p 50000:50000 -v <設定保存先パス>/jenkins_home:/var/jenkins_home -d <ビルド時に指定したイメージ名>
上記コマンド実行後、しばらくしてからhttp://<サーバーIP>:8080
にアクセス出来れば完了です。
なお、私の環境の場合、どうやっても何故かディレクトリのマウントがうまくいかない(マウント対象ディレクトリのオーナーを正しく変更しているのにPermission deniedで弾かれたりエラーが大量発生したり...)ので、もし対処方法が見つかればいずれ共有しようと思います。