docker 安裝 tomcat 以及一些注意事項的管理

這個的一些配置其實在以前寫的關於Docker的進階內容中有,可是最近搗鼓了一下,發現仍是有諸多問題,因此在此記錄一下此次搗鼓的全過程以及如何解決這個問題的java

基本安裝配置

  1. 拉取tomcat 8.5.2版本

至於我爲何拉取的是這個版本,這裏簡單說明一下緣由,就是最新版裏的webapps文件夾是空的,以致於你一塊兒動,打開8080端口網頁就會發現找不到資源,而8.5.2版本卻沒有這個問題nginx

docker pull tomcat:8.5.2
  1. 啓動該鏡像
docker run -it -p 8080:8080 tomcat:8.5.32

注:這裏這樣-it啓動,表明着不是後臺啓動,會一直跑日誌的那種,並且ctrl + z會取消運行,若是不想,就去掉web

  1. 打開網頁

附加配置

僅僅是上面的操做,仍是會遺留下來2個問題docker

  • docker 啓動 tomcat 太慢了,我想一想,我沒修改前,大概啓動了接近1 - 2分鐘,的確很慢了,一度讓我覺得是否是卡死了
  • 沒法進入 ManagerApp 或者 Host Manager 後臺進行管理

下面來一個個接近此問題shell

啓動優化

其實說簡單也簡單,就是進去正在運行的容器改個文件配置,而後再將這個容器提交成一個鏡像便可,而後跑這個鏡像,再開一個容器,你就會發現,問題已經解決apache

  1. 進入正在運行的tomcat容器
docker exec -it 容器id/容器名字 /bin/bash
  1. 在容器中安裝vim
apt-get update
apt-get install vim
  1. 修改對應的java.security文件
# 進入/docker-java-home/jre/lib/security/文件夾中
cd /docker-java-home/jre/lib/security/
# 修改此文件
vim java.security

​ 而後找到securerandom.source=file:/dev/random 將其修改成vim

securerandom.source=file:/dev/./urandom
  1. 就是退出,而且保存提交此容器成爲鏡像嘍
exit
# 退出後
docker commit -a "Sakura" -m "tomcat start quickly" 此容器ID/名稱  sakura/tomcat:1.2

注 - 這裏仍是解釋下一些屬性tomcat

  • -m : 註釋,相似此次提交鏡像的說明
  • -a : 我也忘了,尷尬,以後補,能夠寫一個名字,好比我寫的就是Sakura,寓意櫻花,或許是提交者名字?

而後再將提交上去的鏡像運行,就會發現啓動速度提高了很是多!!bash

後臺管理

若是沒有進行這一步,就會發現大大的403 Access Denied 錯誤app

這裏分爲兩步,其實也可能一步就行了,可是個人狀況是作了兩步才之得行的

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等,想一想仍是算了。

相關文章
相關標籤/搜索