專欄精選文章
- 《Docker是什么?Docker從介紹到Linux安裝圖文詳細教程》
- 《30條Docker常用命令圖文舉例總結(jié)》
- 《Docker如何構(gòu)建自己的鏡像?從鏡像構(gòu)建到推送遠程鏡像倉庫圖文教程》
- 《Docker多個容器和宿主機之間如何進行數(shù)據(jù)同步和數(shù)據(jù)共享?容器數(shù)據(jù)卷從介紹到常用操作圖文教程》
背景
我在使用 Docker 拉取官方最新版的 Tomcat 鏡像,創(chuàng)建該鏡像的容器實例后,正想著訪問 Tomcat 小貓咪主頁時,卻報了 404 錯誤。明明我已經(jīng)開放了 Tomcat 的 8080 端口了,難道還有別的大坑嗎?
解決方案一:防火墻
很多剛使用 Linux 和 Docker 的新手小白最有可能遇見的情況就是宿主機的防火墻沒關(guān)閉或者沒有開放 8080 端口。
如果你是新手,很懶,我建議你直接永久關(guān)閉宿主機的防火墻。依次執(zhí)行下列命令。
$ systemctl stop firewalld
$ systemctl disable firewalld
$ firewall-cmd --reload
如果你在企業(yè),可不能關(guān)閉防火墻,只需要放開 Tomcat 的端口 8080 :
$ firewall-cmd --zone=public --remove-port=8080/tcp --permanent
查看宿主機已經(jīng)放開的端口:
$ firewall-cmd --zone=public --list-ports
解決方案二:Tomcat版本太新
如果你是直接執(zhí)行下面這條官網(wǎng)上的拉取 Tomcat 鏡像的命令:
$ docker pull tomcat
那么你就是拉取了最新的 Tomcat 10.0 版本,最新版的 Tomcat 10.0 在首頁上的訪問是不一樣的。
【解決辦法】
首先以前臺交互式進入 Tomcat 10.0 鏡像的容器 t1
中。
$ docker exec -it t1 /bin/bash
查看當(dāng)前目錄。
$ ls -l
所有網(wǎng)頁資源都應(yīng)該在 webapps
目錄下,進入看看。
$ cd webapps
$ ls -l
發(fā)現(xiàn)是空的,這就解釋了為什么沒辦法訪問 Tomcat 小貓首頁了。新版的 Tomcat 的貓首頁放在了 webapps.dist
里,我們只需要把 webapps
目錄刪除,再把 webapps.dist
重命名為 webapps
即可。
$ rm -rf webapps
$ mv webapps.dist webapps
再次在瀏覽器中訪問:
http://192.168.168.101:8080
成功訪問 Tomcat 首頁。此時也可以發(fā)現(xiàn) Tomcat 版本是 10.0 ,算是比較高的版本了,一般現(xiàn)在企業(yè)用的還都是 8 或 9 。
解決方案三:安裝Tomcat 8
正如上面所演示的,最新的 Tomcat 10 在主頁上的改動對新手是不太友好的。在企業(yè)中絕大部分都還在用 Tomcat 8.0 或 9.0 ,這已經(jīng)夠用了。因此,我們刪除最新版的 Tomcat 容器和鏡像,轉(zhuǎn)而下載帶有 JDK 8 的 Tomcat 8.0 版本鏡像。
刪除 Tomcat 10.0 的容器:
$ docker rm -f t1
刪除 Tomcat 10.0 的鏡像:
$ docker rmi -f tomcat:latest
拉取帶有 JDK 8 的 Tomcat 8.0 版本鏡像:
$ docker pull billygoo/tomcat8-jdk8
使用該鏡像創(chuàng)建 Tomcat 容器實例 t8
。
$ docker run -d -p 8080:8080 --name t8 billygoo/tomcat8-jdk8:latest
在瀏覽器中訪問:
http://192.168.168.101:8080
直接就可以訪問 Tomcat 的主頁,不需要做任何修改??梢钥吹?Tomcat 版本是 8.0.53 ,比最新版的 Tomcat 10.0 對新手更友好。文章來源:http://www.zghlxwxcb.cn/news/detail-462354.html
希望本篇博文對你有幫助。文章來源地址http://www.zghlxwxcb.cn/news/detail-462354.html
到了這里,關(guān)于【Docker】解決Docker創(chuàng)建Tomcat容器實例后訪問Tomcat主頁時報HTTP狀態(tài)404-未找到的錯誤的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!