JenkinsのDockerコンテナの作成
DockerでCentOSベースのJenkinsコンテナを作成しました。
- ホストOS
CentOS 6.5
cat /etc/redhat-release CentOS release 6.5 (Final)
- Docker 1.0
docker version Client version: 1.0.0 Client API version: 1.12 Go version (client): go1.2.2 Git commit (client): 63fe64c/1.0.0 Server version: 1.0.0 Server API version: 1.12 Go version (server): go1.2.2 Git commit (server): 63fe64c/1.0.0
- Dockerfile
FROM centos:latest ## Install core modules. RUN yum -y install ntp curl && yum -y clean all ## Install Oracle JDK8 RUN curl -LO 'http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.rpm' -H 'Cookie: oraclelicense=accept-securebackup-cookie' && rpm -i jdk-8u5-linux-x64.rpm && rm jdk-8u5-linux-x64.rpm ## Install jenkins. RUN curl -o /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo && rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key RUN yum -y install jenkins && yum -y clean all ## Change timezone and synchronize to ntp server. RUN sed -i -e "s|Europe/London|Asia/Tokyo|g" /etc/sysconfig/clock && mv /etc/localtime /etc/default.localtime && cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && ntpdate ntp.nict.jp ## Start jenkins. EXPOSE 8080 CMD service jenkins start && sleep 10 && tail -f /var/log/jenkins/jenkins.log
(serviceコマンドでjenkinsを起動し、コンテナもrunし続ける手法は何かないのでしょうか。)
あとは、このDockerfileを使ってイメージの作成とコンテナの起動を行う。
- イメージの作成
t オプションで指定しているタグ名はお好みで。
docker build -t centos/jenkins:1.0 .
- コンテナ起動
name オプションで指定しているコンテナ名もお好みで。
docker run -d -p 8080:8080 --name jenkins centos/jenkins:1.0
Webブラウザーからアクセスしてみます。
見れました。OK。
「とりあえず動かす」目的でありましたが、本格的に利用する場合は永続化のために
ホストにボリュームをマウントするなどした方がよいのでしょう。