dockerfile 自定义构建jenkins 。包含开发ant maven java tomcat环境

[root@cdh-node3 file]# ls -l
total 358288
-rw-r--r-- 1 root root 6902627 Oct 29 16:54 apache-ant-1.10.12.tar.gz              https://ant.apache.org/bindownload.cgi       下载下来。 手动解压 更改包名为ant  在进行压缩名为apache-ant-1.10.12.tar.gz
-rw-r--r-- 1 root root 156680432 Oct 29 16:53 apache-maven-3.8.3.tar.gz            https://maven.apache.org/download.cgi        下载下来。 手动解压 更改包名为maven  在进行压缩名为apache-maven-3.8.3.tar.gz
-rw-r--r-- 1 root root 11553245 Oct 29 17:00 apache-tomcat-9.0.54.tar.gz           https://tomcat.apache.org/download-90.cgi    下载下来。 手动解压 更改包名为tomcat  在进行压缩名为apache-tomcat-9.0.54.tar.gz
-rw-r--r-- 1 root root 632 Oct 29 17:12 dockerfile
-rw-r--r-- 1 root root 191732083 Oct 29 17:00 jdk-8u191-linux-x64.tar.gz           https://www.oracle.com/java/technologies/downloads/   下载下来。 手动解压 更改包名为java  在进行压缩名为jdk-8u191-linux-x64.tar.gz
drwxr-xr-x 11 root root 4096 Oct 28 14:43 ROOT                                     https://www.jenkins.io/download/              下载下来。 手动解压 更改包名为ROOT

 

二  编辑dockerfile

 

FROM centos:7

 

#ADD jdk-8u191-linux-x64.tar.gz /usr/local/
#ADD apache-tomcat-9.0.54.tar.gz  /usr/local/
#ADD apache-maven-3.8.3.tar.gz /usr/local/
#ADD apache-ant-1.10.12.tar.gz /usr/local/    可以用下面统一代替

ADD *.tar.gz /usr/local/


ENV LANG="en_US.UTF-8"
ENV JENKINS_HOME="/var/jenkins_home"
ENV MYPATH /usr/local/
ENV JAVA_HOME /usr/local/java
ENV CATALINA_HOME /usr/local/tomcat
ENV CATALINA_BASE /usr/local/tomcat
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin


RUN rm -rf /usr/local/tomcat/webapps/* \
&& ln -s /usr/local/java/bin/javac /bin/javac \
&& ln -s /usr/local/maven/bin/mvn /bin/mvn \
&& ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone \
&& yum -y install git libgdiplus-devel libunwind libicu lftp

ADD ROOT.war /usr/local/tomcat/webapps/ROOT.war

EXPOSE 8080


CMD ["/usr/local/tomcat/bin/catalina.sh","run"]



 

三 构建

docker build -t test:test -f dockerfile  .

 

 

 

 

四 启动

docker images |grep test
docker run -d -p 8484:8080 test:test

 

 浏览器测试

 

 

 

五 compose形式启动

jenkins.yml

version: "3.1"
services:
  jenkins:
    image: test:test
    container_name: jenkins
    network_mode: host
    restart: always
    volumes:
      - "/usr/bin/docker:/usr/bin/docker"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7"
      - "/opt/jenkins/jenkins_home:/var/jenkins_home"
      - "/root/.ssh/:/root/.ssh/"
    user: root
    privileged: true


 

posted @ 2021-10-18 15:10  mrdongdong  阅读(132)  评论(0编辑  收藏  举报