1. 程式人生 > 實用技巧 >基於tomcat基礎映象構建各種業務映象 範例如APP2業務2

基於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/

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 運維實戰手冊