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 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"]