単に Docker で Jenkins 動かしたいなら公式の
がすぐ動くし、Dockerfile も読める。
以下は CentOS や Amazon Linux 上で動かしたい人用の最小構成。
Dockerfile
FROM centos:centos7 # Change timezone RUN ln -sf /usr/share/zoneinfo/Japan /etc/localtime # Install requirement RUN yum update -y && yum install -y \ java-1.7.0-openjdk.x86_64 \ wget # Install jenkins RUN wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo RUN rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key RUN yum install -y jenkins EXPOSE 8080 ENTRYPOINT ["java", "-Djava.awt.headless=true", "-DJENKINS_HOME=/var/lib/jenkins", "-jar", "/usr/lib/jenkins/jenkins.war", "--logfile=/var/log/jenkins/jenkins.log", "--webroot=/var/cache/jenkins/war"]
- 説明
- CentOS7 をベースに利用
- タイムゾーンが UTC なので JST に変更
- Jenkins は Java がないと動かないので java-1.7.0-openjdk.x86_64 をインストール
- wget も入ってないので入れる
- Jenkins のインストールは、公式に書いてある通り RedHat Repository for Jenkins
- 8080ポートを公開
- Docker はフォアグラウンドで動かさなきゃ行けないので java コマンドで直接起動
- 引数は
service jenkins start
した後にps aux | grep jenkins
でみえるやつからなくても大丈夫なものを省いたのを書いた
- 引数は
使い方
ソースはこちら。起動用のコマンドもこっちに書いてる。
jnst-devops/docker/jenkins at master · jnst/jnst-devops · GitHub