目錄
- 基本安裝配置
- 附加配置
- 啟動優化
- 后臺管理
- 總結
這個的一些配置其實在之前寫的關于Docker的進階內容中有,但是最近搗鼓了一下,發現還是有諸多問題,所以在此記錄一下這次搗鼓的全程序以及如何解決這個問題的
基本安裝配置
- 拉取tomcat 8.5.2版本
至于我為什么拉取的是這個版本,這里簡單說明一下原因,就是最新版里的webapps檔案夾是空的,以至于你一起動,打開8080埠網頁就會發現找不到資源,而8.5.2版本卻沒有這個問題
docker pull tomcat:8.5.2
- 啟動該鏡像
docker run -it -p 8080:8080 tomcat:8.5.32
注:這里這樣-it啟動,代表著不是后臺啟動,會一直跑日志的那種,而且ctrl + z會取消運行,如果不想,就去掉
- 打開網頁

附加配置
僅僅是上面的操作,還是會遺留下來2個問題
- docker 啟動 tomcat 太慢了,我想想,我沒修改前,大概啟動了接近1 - 2分鐘,的確很慢了,一度讓我以為是不是卡死了
- 無法進入 ManagerApp 或者 Host Manager 后臺進行管理
下面來一個個接近此問題
啟動優化
其實說簡單也簡單,就是進去正在運行的容器改個檔案配置,然后再將這個容器提交成一個鏡像即可,然后跑這個鏡像,再開一個容器,你就會發現,問題已經解決
- 進入正在運行的tomcat容器
docker exec -it 容器id/容器名字 /bin/bash
- 在容器中安裝vim
apt-get update
apt-get install vim
- 修改對應的java.security檔案
# 進入/docker-java-home/jre/lib/security/檔案夾中
cd /docker-java-home/jre/lib/security/
# 修改此檔案
vim java.security
? 然后找到securerandom.source=file:/dev/random 將其修改為
securerandom.source=file:/dev/./urandom
- 就是退出,并且保存提交此容器成為鏡像嘍
exit
# 退出后
docker commit -a "Sakura" -m "tomcat start quickly" 此容器ID/名稱 sakura/tomcat:1.2
注 - 這里還是解釋下一些屬性
- -m : 注釋,類似這次提交鏡像的說明
- -a : 我也忘了,尷尬,之后補,可以寫一個名字,比如我寫的就是Sakura,寓意櫻花,或許是提交者名字?
然后再將提交上去的鏡像運行,就會發現啟動速度提升了非常多!!
后臺管理
如果沒有進行這一步,就會發現大大的403 Access Denied 錯誤
這里分為兩步,其實也可能一步就好了,但是我的情況是做了兩步才之得行的
1.添加一個用戶?(寓意)
和之前一樣,先進去容器中,然后修改conf/tomcat-users.xml檔案,在前面添加如下代碼:
<role rolename="manager-gui"/>
<user password="admin" roles="manager-gui" username="tomcat"/>
然后再重啟tomcat,當然我這里又進行了一次提交鏡像,不過先不急,下一步做了再提交也不遲,也可以先重新啟動這個容器,看看改的效果,如果有效果下一步就不用進行了,如果沒有,就繼續
2. 訪問ip受到限制
那么這次再接著上面對/webapps/manager/META-INF/context.xml檔案進行修改,將里面的allow后面的內容修改掉,那部分代碼就改成下面這樣子
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="^.*$" />
處理完后,再提交鏡像
docker commit -a "Sakura" -m "tomcat have user and start quickly" optimistic_albattani sakura/tomcat:1.5
再啟動,就搞定了

總結
這次之所以用docker進行配置tomcat是因為不想其與wordpress競爭nginx,但是仔細一想,埠不沖突,或許不會,但是為了更好管理吧,而這次的操作,也是為了之后那個小型JavaWeb demo做鋪墊,之前本來準備用 Vue + xxx來寫的,但是涉及Node.js等,想想還是算了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/208666.html
標籤:大數據
上一篇:Flink的安裝部署
