基于tomcat基础镜像构建各种业务镜像 范例如APP2业务2

1、拷贝dockerfile镜像制作文件以及所需文件

制作第二个 tomcat 服务镜像。做的二个业务镜像的时候就不用这么复杂了,而是直接将tomcat-app1的目录拷贝到tomcat-app2即可,因为他们所需的文件都差不多

#回到父目录也就是tomcat目录下
[12:36:24 root@docker tomcat-app1]#cd ..
?
#然后将app1 中的所有内容拷贝到tomcat-app2下
[12:36:29 root@docker tomcat]#cp -r tomcat-app1/* tomcat-app2/

2、修改app2 的web页面

进入tomcat-app2目录下只需修改index.jsp 即可,因为app2这个业务也是基于 tomcat-basev9.0.37 的基础镜像来制作。和app1的制作过程一样

#进入app2业务目录
[12:40:59 root@docker tomcat]#cd tomcat-app2/
?
#编写web显示页面
[13:07:12 root@docker tomcat-app2]#vim WEBserver/index.jsp 
?
app2 tomcat-app2 APP2 22222

3、打包app2 业务的web页面压缩包

#删除从APP1 业务目录拷贝过来的web压缩包
[12:42:26 root@docker tomcat-app2]#rm -fr WEBserver.tar.gz 
?
#进入到app2的web页面目录下
[12:43:59 root@docker tomcat-app2]#cd WEBserver/
?
#打包APP2 web页面压缩包
[12:46:06 root@docker WEBserver]#tar cvzf WEBserver.tar.gz ./*
?
#将WEBserver.tar.gz压缩移动到 app2业务目录下
[12:47:10 root@docker WEBserver]#mv WEBserver.tar.gz ../

4、修改构建脚本,区分app2业务的镜像名

我们的dockerfile文件其实已经不用动了,因为多个tomcat业务都是共用tomact的基础镜像。所以只需修改构建脚本即可,将其新的镜像名改为 app2。

#回到父目录
[12:47:17 root@docker WEBserver]#cd ../
?
#修改镜像构建脚本
[12:47:26 root@docker tomcat-app2]#vim build-command.sh
docker build -t tomcat-web:app2 .
?
docker build:        #制作镜像
-t:                 #给镜像做一个新名字
tomcat-web:app2:    #新镜像名为 app2业务
.                    #dockerfile在当前目录下

5、执行构建镜像脚本,制作新镜像

#运行脚本
[12:51:34 root@docker tomcat-app2]#bash build-command.sh
Successfully built 43a79b360480     #制作成功
?
#通过查看新镜像已制作完成
[12:51:44 root@docker tomcat-app2]#docker images 
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
tomcat-web                    app2                43a79b360480        33 seconds ago      914 MB

6、启动app2容器

#启动容器
[12:52:16 root@docker tomcat-app2]#docker run -it --name tomcat-app2 -p 8081:8080 -d tomcat-web:app2 bash
?
docker run:             #运行容器
-it:                    #对容器执行命令
--name tomcat-app2:     #容器名为tomcat-app2
-p 8081:8080:           #将容器的8080端口映射到宿主机的8081端口上
-d                       #放到后台运行
tomcat-web:app2:        #使用tomcat-web:app2镜像
bash:                   #执行bash命令
?
#进入容器
[13:10:09 root@docker tomcat-app2]#docker exec -it tomcat-app2 bash
?
#切换为www用户
[root@9f78526048af /]# su www
?
#通过www用户来启动tomcat
[www@9f78526048af /]$ /apps/tomcat/bin/catalina.sh start
?
#最后退出容器回到宿主机

7、通过浏览器访问检测

http://10.0.0.117:8081/WEBserver/

基于tomcat基础镜像构建各种业务镜像 范例如APP2业务2

5.4.3.1.6 修改tomcat容器的启动日志存放到/data/目录下

#进入tomcat-app2容器
[13:11:25 root@docker tomcat-app2]#docker exec -it tomcat-app2 bash
?
#编辑tomcat的日志配置文件
[root@9f78526048af /]# vim /apps/tomcat/conf/logging.properties
#找到这一行就该tomcat日志存放路径
1catalina.org.apache.juli.AsyncFileHandler.directory = /data/tomcat/logs
?
#创建/data/tomcat/logs文件用来存放tomcat日志
[root@9f78526048af /]# mkdir /data/tomcat/logs
?
#给www普通用户授权
[root@9f78526048af /]# chown www.www /data/tomcat/logs/ -R
?
#使用www用户重启tomcat服务使其配置文件生效
[root@9f78526048af /]# su - www -c "/apps/tomcat/bin/catalina.sh start"
?
#查看日志存放路径已经有了tomcat日志
[root@9f78526048af /]# ll /data/tomcat/logs/
total 8
-rw-r----- 1 www www 7944 Aug  1 05:24 catalina.2020-08-01.log
?
?
#如果数tomcat起不来一定会在这个日志中打出为什么起不来

总结:

以上就是针对java服务的镜像构建以及启动方式

更多文章和资料|点击下方文字直达 ↓↓↓
阿里云K8s实战手册
[阿里云CDN排坑指南]CDN
ECS运维指南
DevOps实践手册
Hadoop大数据实战手册
Knative云原生应用开发指南
OSS 运维实战手册

基于tomcat基础镜像构建各种业务镜像 范例如APP2业务2

上一篇:CF#660 C - Uncle Bogdan and Country Happiness


下一篇:“new Date()”ios苹果不兼容,NAN,不仅是“-”的原因,“2020/08/07T03:22:56.000+0000"也不行