一 工作目录
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-base# pwd
/data/dockerfile/web/tomcat/tomcat-base
二 下载tomcat
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-base# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.73/bin/apache-tomcat-8.5.73.tar.gz
三 编写Dockerfile
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-base# cat Dockerfile
FROM 192.168.174.120/baseimages/jdk-base:1.8.0_311
ENV TZ "Asia/Shanghai"
ENV TERM xterm
ENV TOMCAT_MAJOR_VERSION 8
ENV TOMCAT_MINOR_VERSION 8.5.73
ENV CATALINA_HOME /usr/local/tomcat
ENV APP_DIR /data/tomcat/webapps
ENV LANG en_US.UTF-8
ENV PATH $CATALINA_HOME/bin:$PATH
ADD apache-tomcat-8.5.73.tar.gz /usr/local/
RUN mkdir /data/tomcat/webapps /data/tomcat/logs -pv \
&& ln -sv /usr/local/apache-tomcat-8.5.73 /usr/local/tomcat
WORKDIR $CATALINA_HOME
四 编写构建镜像脚本
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-base# cat build-command.sh
#!/bin/bash
docker build -t 192.168.174.120/baseimages/tomcat-base:8.5.73 .
#docker push 192.168.174.120/baseimages/tomcat-base:8.5.73 .
五 构建镜像
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-base# ./build-command.sh
Sending build context to Docker daemon 10.59MB
Step 1/12 : FROM 192.168.174.120/baseimages/jdk-base:1.8.0_311
---> f7f2cc224b22
Step 2/12 : ENV TZ "Asia/Shanghai"
---> Using cache
---> ab96e6c341de
Step 3/12 : ENV TERM xterm
---> Using cache
---> 3aabe433de56
Step 4/12 : ENV TOMCAT_MAJOR_VERSION 8
---> Using cache
---> b6bf59060677
Step 5/12 : ENV TOMCAT_MINOR_VERSION 8.5.73
---> Using cache
---> fdbca4e629a1
Step 6/12 : ENV CATALINA_HOME /usr/local/tomcat
---> Using cache
---> 7a85178cb050
Step 7/12 : ENV APP_DIR /data/tomcat/webapps
---> Using cache
---> c20b03134b6d
Step 8/12 : ENV LANG en_US.UTF-8
---> Using cache
---> 6dea72790185
Step 9/12 : ENV PATH $CATALINA_HOME/bin:$PATH
---> Using cache
---> 28488a313d6d
Step 10/12 : ADD apache-tomcat-8.5.73.tar.gz /usr/local/
---> Using cache
---> 1892c0f85588
Step 11/12 : RUN mkdir /data/tomcat/webapps /data/tomcat/logs -pv && ln -sv /usr/local/apache-tomcat-8.5.73 /usr/local/tomcat
---> Running in e940c7ea9c92
created directory: '/data/'
created directory: '/data/tomcat/'
created directory: '/data/tomcat/webapps'
created directory: '/data/tomcat/logs'
'/usr/local/tomcat' -> '/usr/local/apache-tomcat-8.5.73'
Removing intermediate container e940c7ea9c92
---> 28bc14de091a
Step 12/12 : WORKDIR $CATALINA_HOME
---> Running in 6973da253a69
Removing intermediate container 6973da253a69
---> 97996035932d
Successfully built 97996035932d
Successfully tagged 192.168.174.120/baseimages/tomcat-base:8.5.73
六 验证镜像
6.1 启动服务
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-base# docker run -it --rm -p 8080:8080 192.168.174.120/baseimages/tomcat-base:8.5.73 sh
/usr/local/apache-tomcat-8.5.73 # catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
6.2 访问web界面

七 上传镜像到harbor
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-base# docker push 192.168.174.120/baseimages/tomcat-base:8.5.73