環境說明
linux系統版本:lsb_release -a
docker 版本: docker -v
不同的作業系統以及軟體版本,可能會遇到不一樣的問題,一定要注意版本問題。
.1.tomcat映象版本選擇。
進入docker官網搜尋 8-jdk8
自己選擇的版本如下
docker pull tomcat:8-jdk8
可以正確拉取。
.2.啟動tomcat 服務。
docker run --name tomcat8 -d -p 8086:8080 tomcat:8-jdk8
引數解釋:
docker run 表示執行docker容器
--name tomcat8 給容器取一個名字
-d 表示以後臺模式啟動
-p 8086:8080 表示將宿主機上的8086埠對映到容器中的8080埠
tomcat:8-jdk8 表示以某個映象啟動tomcat服務,不指定的話,一般會以最新映象啟動,沒有機會自動去下載映象。
.3.登入阿里雲伺服器,開啟8086埠。
控制檯-->我的資源-->點選(例項)進入-->安全組-->安全組詳情-->手動新增(入站規則)
.4.訪問測試。
報404錯誤。
進入容器內檢視,發現webapps目錄下面為空,需要自己新增需要執行的war包。
docker exec -it tomcat8 /bin/bash
根據網友的建議,可以把 webapps.dist目錄下面的內容複製到webapps目錄中。
執行命令
rm -rf weapps
mv webapps.dist webapps
直接將webapps.dist目錄覆蓋掉 webapps 目錄
.5.重新啟動tomcat服務,再次訪問。
如果想執行某一個war包,只需要把war包放在/opt/u01/exam/tomcat 路徑下,執行如下的命令即可。
docker run --name tomcat8 \
-d \
-v /opt/u01/exam/tomcat:/usr/local/tomcat/webapps \
-p 8086:8080 tomcat:8-jdk8
引數解釋:
-v /opt/u01/exam/jenkins:/usr/local/tomcat/webapps 表示將宿主機上的目錄掛載到tomcat容器下面的/usr/local/tomcat/webapps目錄中
參考博文:
https://cloud.tencent.com/developer/article/2225836
https://cloud.tencent.com/developer/article/1834280