centos下使用docker安裝tomcat部署Javaweb專案
主要步驟
安裝docker
解除安裝舊版本docker
如果centos系統中存在老版本的docker,可以先解除安裝掉舊版本的docker,再安裝新版本docker。
yum remove docker docker-common docker-selinux
docker-engine安裝docker ce版
安裝所需要的包
yum install -y yum-utils device-mapper-persistent-data lvm2
設定docker穩定版倉庫
安裝docker ce
yum install docker-ce
啟動docker
systemctl start docker
通過執行hello-world映象來驗證docker是否已成功安裝
docker run hello-world
如果能看到Hello from Docker!就說明已經成功安裝了docker
注意:
以上命令的執行如果需要root許可權,需要切換到root使用者下,或者提升許可權。
- 1
- 2
安裝tomcat映象
主要有兩種方式來安裝tomcat映象,一種是在dockerhub中下載,另一種方式是先自己製作tomcat映象,然後在在docker中執行tomcat映象,本文為了簡單處理採用dockerhub下載的tomcat映象
搜尋tomcat映象
docker search tomcat
通過上述命令查詢tomcat映象,選擇Apache的tomcat,一般搜尋到的結果,Apache tomcat是排在第一個的。而後可以進行安裝。
安裝tomcat映象
docker pull tomcat
檢視安裝的tomcat映象
docker images
該命令回列出已經安裝的tomcat映象。
通過下載tomcat映象啟動一個tomcat容器
docker run -p 8080:8080 tomcat:latest
說明:
-p 表示埠號,前一個8080是指我們訪問tomcat時的埠號,
- 1
- 2
- 3
- 4
- 5
檢視執行的tomcat容器
docker ps
通過步驟4中建立的一個tomcat容器,這種執行方式是在螢幕上列印執行的實時日誌的,可以重新開啟一個ssh終端來檢視此時執行的tomcat容器資訊。如何在後臺執行tomcat在後面的docker常用命令中會有說明。
驗證tomcat容器
通過在瀏覽器中訪問tomcat來檢視啟動的tomcat映象是否可以正常執行,訪問方式同一般機器下部署tomcat,即:http://ip:8080,根據自己ip地址情況。如我的測試地址是:http://192.168.93.128:8080
在tomcat映象中部署javaweb專案
打包javaweb專案
像通常的javaweb專案部署一樣,首先需要將javaweb專案打成war包,具體不再詳述。
檢視tomcat映象啟動的容器
docker ps
記錄下tomcat映象啟動的容器的ID或容器名稱。
將war包放入到docker下的tomcat中
首先你是需要把war包放入到centos系統中,本文中將一個test.war的專案放入centos系統的主目錄,這個通過ssh工具就可以放到centos中,大家應該都很熟悉。從centos中將test.war移動到docker下tomcat映象啟動的容器中。
docker cp test.war containerID:/usr/local/tomcat/webapps/
說明:
containerID 是你所啟動tomcat映象的容器ID或者容器名稱也可以。 這是將test.war放到tomcat的webapps下
- 1
- 2
- 3
- 4
驗證部署的專案
因為容器已經啟動,所以可以直接通過瀏覽器訪問測試的專案即可,即:http://ip:8080/test/ 如我的訪問地址為:http://192.168.93.128:8080/test 如果能檢視到自己編寫的測試頁面證明已經成功將web專案放入到docker下的tomcat中。
docker常用命令
這裡為了方便理解,就以tomcat映象為例。一行語法說明,一行例子。
通過映象產生一個容器
docker run -p port1:port2 containerName:tag
docker run -p 8080:8080 tomcat:latest
啟動一個已有的容器
docker start containerID/containerName
docker start admiring_turing
其中admiring_turing是tomcat映象建立的一個容器名稱,也可以使用其容器ID
停止一個容器
docker stop containerID/containerName
docker stop admiring_turing
重啟一個容器
docker restart containerID/containerName
docker restart admiring_turing
與一個已經啟動的容器進行互動式操作
docker exec -i -t containnerID/containerName /bin/bash
docker exec -i -t admiring_turing /bin/bash
複製檔案到容器中
docker cp src_path container:dest_path
docker cp /test.txt admiring_turing:/usr/local/
test.txt 是自己建立的一個測試檔案,將檔案複製到了容器的/usr/local目錄下。
在後臺執行一個容器
docker run -d -p image:tag
docker run -d -p tomcat:latest
瞭解更多內容: