二、制作tomcat 9 Base镜像【基于自制openjdk8基础镜像 】

2.1 基于自定义的 JDK 基础镜像,构建出通用的自定义 Tomcat 基础镜像,此镜像后期会被多个业务的多个服务共同引用
2.2 JDK 版本和Tomcat 版本对应关系,如下:

https://tomcat.apache.org/whichversion.html

2.3 tomcat 8版本,官网已经没有维护了,使用tomcat 9版本

在这里插入图片描述

wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.97/bin/apache-tomcat-9.0.97.tar.gz
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

cat Dockerfile

#Tomcat Base Image
#Tomcat Base Image
FROM registry.cn-hangzhou.aliyuncs.com/qiushi/alpine-3.18.0-openjdk-8u432b06:v1
#env
ENV TZ "Asia/Shanghai"
ENV LANG en_US.UTF-8
ENV TERM xterm
ENV TOMCAT_MAJOR_VERSION 9
ENV TOMCAT_MINOR_VERSION 9.0.97
ENV CATALINA_HOME /apps/tomcat
ENV APP_DIR ${CATALINA_HOME}/webapps

#tomcat
RUN mkdir /apps 
#添加系统账户
RUN  addgroup -g 2025 -S tomcat && 
     adduser -u 2025 -G tomcat -D -S -s /bin/sh  tomcat
ADD apache-tomcat-9.0.97.tar.gz /apps
RUN ln -s /apps/apache-tomcat-9.0.97 /apps/tomcat


docker build -t registry.cn-hangzhou.aliyuncs.com/qiushi/alpine-3.18.0-openjdk-8u432b06-v1-tomcat-9.0.97:v1  .
docker run -it --rm -p 8080:8080  registry.cn-hangzhou.aliyuncs.com/qiushi/alpine-3.18.0-openjdk-8u432b06-v1-tomcat-9.0.97:v1 sh
/ # /apps/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /apps/tomcat
Using CATALINA_HOME:   /apps/tomcat
Using CATALINA_TMPDIR: /apps/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /apps/tomcat/bin/bootstrap.jar:/apps/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

/ # netstat -ntulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN      14/java             
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      14/java 
/ # env
HOSTNAME=3e8f4f50d5b6
TOMCAT_MINOR_VERSION=9.0.97
SHLVL=1
HOME=/root
JRE_HOME=/usr/local/jdk/jre
CATALINA_HOME=/apps/tomcat
TERM=xterm
PATH=/usr/local/jdk/bin:/usr/local/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
APP_DIR=/apps/tomcat/webapps
LANG=en_US.UTF-8
CLASSPATH=.:/usr/local/jdk/lib:/usr/local/jdk/jre/lib:/usr/local/jdk/lib/tools.jar
TOMCAT_MAJOR_VERSION=9
JAVA_HOME=/usr/local/jdk
PWD=/
TZ=Asia/Shanghai


docker push registry.cn-hangzhou.aliyuncs.com/qiushi/alpine-3.18.0-openjdk-8u432b06-v1-tomcat-9.0.97:v1
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}"> class="hide-preCode-box">

三、构建业务镜像1【基于tomcat 9 Base镜像】

root@ubuntu:~/web# mkdir  tomcat/tomcat-app{1,2}.
root@ubuntu:~/web# tree tomcat
tomcat
├── apache-tomcat-9.0.97.tar.gz
├── Dockerfile
├── tomcat-app1
└── tomcat-app2
root@ubuntu:~/web/tomcat# tar xzvf apache-tomcat-9.0.97.tar.gz
root@ubuntu:~/web/tomcat# cp apache-tomcat-9.0.97/conf/server.xml  tomcat-app1/
root@ubuntu:~/web/tomcat# vim tomcat-app1/server.xml
......

......
root@ubuntu:~/web/tomcat# cd tomcat-app1
root@ubuntu:~/web/tomcat/tomcat-app1# mkdir app
root@ubuntu:~/web/tomcat/tomcat-app1# echo "Tomcat Page in app1" > app/index.jsp
root@ubuntu:~/web/tomcat/tomcat-app1# tar zcf app.tar.gz app
root@ubuntu:~/web/tomcat/tomcat-app1# ls
app  app.tar.gz  server.xml
root@ubuntu:~/web/tomcat/tomcat-app1# cat run_tomcat.sh
#!/bin/bash
echo "nameserver 192.168.31.1" > /etc/resolv.conf
su - tomcat -c "/apps/tomcat/bin/catalina.sh start"
su - tomcat -c "tail -f /etc/hosts"
root@ubuntu:~/web/tomcat/tomcat-app1# chmod a+x run_tomcat.sh
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}"> class="hide-preCode-box">

root@ubuntu:~/web/tomcat/tomcat-app1# cat Dockerfile

#Tomcat Web Image
FROM registry.cn-hangzhou.aliyuncs.com/qiushi/alpine-3.18.0-openjdk-8u432b06-v1-tomcat-9.0.97:v1
ADD server.xml /apps/tomcat/conf/server.xml
ADD run_tomcat.sh /apps/tomcat/bin/run_tomcat.sh
ADD app.tar.gz /data/tomcat/webapps/
RUN chown -R tomcat.tomcat /apps/ /data/tomcat/
EXPOSE 8080 
CMD ["/apps/tomcat/bin/run_tomcat.sh"]


root@ubuntu:~/web/tomcat/tomcat-app1# docker build -t registry.cn-hangzhou.aliyuncs.com/qiushi/alpine-3.18.0-openjdk-8u432b06-v1-tomcat-9.0.97-v1-app1:v1 .
root@ubuntu:~/web/tomcat/tomcat-app1# docker push  registry.cn-hangzhou.aliyuncs.com/qiushi/alpine-3.18.0-openjdk-8u432b06-v1-tomcat-9.0.97-v1-app1:v1


docker run -ti --rm -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/qiushi/alpine-3.18.0-openjdk-8u432b06-v1-tomcat-9.0.97-v1-app1:v1
Using CATALINA_BASE:   /apps/tomcat
Using CATALINA_HOME:   /apps/tomcat
Using CATALINA_TMPDIR: /apps/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /apps/tomcat/bin/bootstrap.jar:/apps/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
192.168.100.2	79a46dbde53f
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}"> class="hide-preCode-box">

在这里插入图片描述
在这里插入图片描述

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/web13688565871/article/details/145265819","extend1":"pc","ab":"new"}">>
注:本文转载自blog.csdn.net的lwd_up的文章"https://blog.csdn.net/weixin_44630490/article/details/116707850"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!