27 lines
1.4 KiB
Plaintext
27 lines
1.4 KiB
Plaintext
FROM centos:8
|
|
LABEL description="Jenkins on Tomcat, with git and ansible"
|
|
LABEL maintainer="racken@racker.tech"
|
|
LABEL notes="Get initial admin password by docker exec -it <container-id> and cat /root/.jenkins/secrets/initialAdminPassword"
|
|
LABEL java-version="java-11-openjdk"
|
|
LABEL jenkins-version="2.222.3"
|
|
LABEL exposed-port="8080"
|
|
LABEL jenkins-path="/jenkins"
|
|
ENV container docker
|
|
RUN yum -y install java-11-openjdk-headless wget dejavu-fonts-common dejavu-sans-fonts dejavu-serif-fonts dejavu-sans-mono-fonts java-11-openjdk-devel git python3-pip yum-utils; mkdir -p /opt/tomcat
|
|
RUN pip3 install ansible
|
|
WORKDIR /opt/tomcat
|
|
RUN wget -q -O- http://ftp.cuhk.edu.hk/pub/packages/apache.org/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz | tar zxf - --strip-components=1
|
|
RUN rm -rf /opt/tomcat/webapps/ROOT
|
|
RUN wget -q -O /opt/tomcat/webapps/jenkins.war http://mirrors.jenkins.io/war-stable/latest/jenkins.war
|
|
RUN yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
|
RUN yum -y install docker-ce-cli
|
|
ENV TINI_VERSION v0.19.0
|
|
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
|
|
RUN chmod +x /tini
|
|
ENV JAVA_HOME="/usr"
|
|
ENV JAVA_OPTS="-Djava.awt.headless=true -Xmx2g -Dhudson.DNSMultiCast.disabled=true -Duser.timezone=Asia/Hong_Kong"
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/tini", "--"]
|
|
CMD ["/opt/tomcat/bin/catalina.sh", "run"]
|
|
|