1.0 nginx+tomcat自动分离
业务流程图:
1.1 构建jdk与tomcat业务镜像与资源
1、构建jdk镜像
创建profile环境变量文件
root@master1:/dockerfile/web/jdk# cat profile
export JAVA_HOME=/usr/local/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
编写Dockerfile
root@master1:/dockerfile/web/jdk# cat Dockerfile
FROM harbor.cncf.net/os/ubuntu:20.04
MAINTAINER LXH
LABEL description="jdk-1.8.191"
ADD jdk-8u191-linux-x64.tar.gz /usr/local/
ADD profile /etc/profile
ENV JAVA_HOME=/usr/local/jdk1.8.0_191
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
构建镜像
root@master1:/dockerfile/web/jdk# nerdctl build -t harbor.cncf.net/baseimages/jdk:1.8.191 .
推送镜像到harbor
root@master1:/dockerfile/web/jdk# nerdctl push harbor.cncf.net/baseimages/jdk:1.8.191
2、构建tomcat镜像
root@master1:/dockerfile/web/tomcat# cat Dockerfile FROM harbor.cncf.net/baseimages/jdk:1.8.191 MAINTAINER LXH LABEL description="tomcat8.5.43" ADD apache-tomcat-8.5.43.tar.gz /usr/local RUN ln -sv /usr/local/apache-tomcat-8.5.43 /usr/local/tomcat
执行构建镜像
root@master1:/dockerfile/web/tomcat# cat build.sh #!/bin/bash DIR=$(pwd) nerdctl build -t harbor.cncf.net/web/tomcat:8.5.13 $DIR nerdctl push harbor.cncf.net/web/tomcat:8.5.13
3、构建tomcat业务镜像
创建业务镜像相关配置文件和启动文件
打包代码文件
root@master1:/dockerfile/project/tomcat# tar tf app1.tar.gz .