Dockerfile制作tomcat业务镜像
一 工作目录
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# pwd
/data/dockerfile/web/tomcat/tomcat-app1二 准备业务配置
2.1 调整JAVA_OPTS
按需求向catalina.sh脚本添加以下内容:
JAVA_OPTS="-server -Xms1g -Xmx1g -Xss512k -Xmn1g -XX:CMSInitiatingOccupancyFraction=65  -XX:+UseFastAccessorMethods -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=10 -XX:NewSize=2048M -XX:MaxNewSize=2048M -XX:NewRatio=2 -XX:PermSize=128m -XX:MaxPermSize=512m -XX:CMSFullGCsBeforeCompaction=5 -XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled"2.2 准备server.xml
按需修改server.xml文件内容,比如:
<Host name="localhost"  appBase="/data/tomcat/webapps"  unpackWARs="false" autoDeploy="false">
2.3 准备业务代码
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# ls
Dockerfile  build-command.sh  catalina.sh  myapp  myapp.tar.gz  server.xml  webapps.tar.gz
三 编写Dockerfile
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# cat Dockerfile FROM 192.168.174.120/baseimages/tomcat-base:8.5.73ADD catalina.sh /usr/local/tomcat/bin/catalina.sh
ADD server.xml /usr/local/tomcat/conf/server.xml
ADD webapps.tar.gz /data/tomcat/
ADD myapp.tar.gz /data/tomcat/webapps/EXPOSE 8080 8443
CMD ["catalina.sh","run"]
四 编写构建镜像脚本
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# cat build-command.sh 
#!/bin/bash
TAG=$1
docker build -t  192.168.174.120/baseimages/tomcat-app1:${TAG} .
sleep 3
#docker push 192.168.174.120/baseimages/tomcat-app1:${TAG} 五 构建镜像
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# ./build-command.sh v1.0
Sending build context to Docker daemon  35.84kB
Step 1/6 : FROM 192.168.174.120/baseimages/tomcat-base:8.5.73
 ---> 97996035932d
Step 2/6 : ADD catalina.sh /usr/local/tomcat/bin/catalina.sh
 ---> 150d60c70080
Step 3/6 : ADD server.xml /usr/local/tomcat/conf/server.xml
 ---> 632dce2ee2c1
Step 4/6 : ADD myapp.tar.gz /data/tomcat/webapps/myapp/
 ---> 2c808d5a7a05
Step 5/6 : EXPOSE 8080 8443
 ---> Running in 575339151d4f
Removing intermediate container 575339151d4f
 ---> 47b28a887efd
Step 6/6 : CMD ["catalina.sh","run"]
 ---> Running in 5822a7d40af5
Removing intermediate container 5822a7d40af5
 ---> 0b2e32fd406f
Successfully built 0b2e32fd406f
Successfully tagged 192.168.174.120/baseimages/tomcat-app1:v1.0
六 验证镜像
6.1 启动镜像
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# docker run -d -p 8080:8080 --name tomcat-app1  192.168.174.120/baseimages/tomcat-app1:v1.0 
d441dd1bd2c3c0e2f8b0c4d75eb3b5f54d59589829c1bb8fb37e88fc9b8f8109
6.2 查看镜像信息
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# docker ps
CONTAINER ID   IMAGE                                         COMMAND                  CREATED          STATUS                 PORTS                                                 NAMES
d441dd1bd2c3   192.168.174.120/baseimages/tomcat-app1:v1.0   "catalina.sh run"        28 seconds ago   Up 27 seconds          0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 8443/tcp   tomcat-app16.3 访问web界面

6.4 访问业务路径
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# curl http://192.168.174.120:8080/myapp/
tomcat docker image test
七 上传镜像到harbor
root@k8s-harbor-01:/data/dockerfile/web/tomcat/tomcat-app1# docker push  192.168.174.120/baseimages/tomcat-app1:v1.0 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号