日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

centos8上docker tomcat容器访问报404解决方法

發(fā)布時間:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos8上docker tomcat容器访问报404解决方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

目錄

【README】

【1】docker安裝tomcat

【2】啟動多個tomcat容器


【README】

1.本文記錄了 訪問docker tomcat容器報404的解決方法;

2.附帶安裝tomcat步驟;

3.centos8 安裝docker,refers2 centos8安裝docker_PacosonSWJTU的博客-CSDN博客【README】本文參考了 docker官方文檔安裝指南, Install Docker Engine on CentOS | Docker DocumentationInstructions for installing Docker Engine on CentOShttps://docs.docker.com/engine/install/centos/【1】安裝前的工作1.需要centos7或8上;// 查看centos版本[root@centos204 ~]# uname -r4https://blog.csdn.net/PacosonSWJTU/article/details/120773955


【1】docker安裝tomcat

步驟1,搜索 docker tomcat 鏡像

docker search tomcat

?

步驟2,拉取tomcat鏡像

docker pull tomcat

步驟3,根據(jù)鏡像啟動tomcat容器

虛擬機端口8888轉(zhuǎn)發(fā)到 tomcat容器8080端口;

[root@centos204 tomcat]# docker run -d -p 8888:8080 tomcat 0b1be1a3dcd2e9723343a8b3f3f0bcd1f1a07da38b3090d256132d8320e9add2

步驟4,win10瀏覽器 訪問 ?http://192.168.163.204:8888/ 報404

?

?步驟5,查看防火墻

發(fā)現(xiàn)什么都沒有,即centos8機器上8888端口無法被防火墻隔離了

# 查看防火墻開通網(wǎng)絡(luò)訪問端口列表 [root@centos204 tomcat]# firewall-cmd --zone=public --list-ports 空 [root@centos204 tomcat]# # 查看防火墻狀態(tài) [root@centos204 tomcat]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: active (running) (thawing) since Fri 2021-10-15 01:02:33 EDT; 9h ago ..............................................

步驟6,開通8888端口的防火墻訪問權(quán)限

# 開通8888端口 [root@centos204 tomcat]# firewall-cmd --zone=public --add-port=8888/tcp --permanent success # 查看已開通端口 [root@centos204 tomcat]# firewall-cmd --zone=public --list-ports 空# 重新加載防火墻規(guī)則到內(nèi)存 [root@centos204 tomcat]# firewall-cmd --reload success # 再次查看已開通端口, 已開通 [root@centos204 tomcat]# firewall-cmd --zone=public --list-ports 8888/tcp

步驟7,再次訪問? ?http://192.168.163.204:8888/ 還是報404

?

步驟8,查看tomcat容器部署目錄

使用命令: docker exec -it 運行的tomcat容器ID /bin/bash 進入到tomcat的目錄

# 查看docker所有容器 [root@centos204 tomcat]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0b1be1a3dcd2 tomcat "catalina.sh run" 13 minutes ago Up 13 minutes 0.0.0.0:8888->8080/tcp, :::8888->8080/tcp modest_heyrovsky 0a5b713c0021 hello-world "/hello" 24 hours ago Exited (0) 24 hours ago frosty_turing# 找出tomcat容器id, 并進入該容器的內(nèi)存運行目錄 [root@centos204 tomcat]# docker exec -it 0b1be1a3dcd2 /bin/bash root@0b1be1a3dcd2:/usr/local/tomcat# ls BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf lib logs native-jni-lib temp webapps webapps.dist work# 查看webapps 部署了哪些項目,居然為空 root@0b1be1a3dcd2:/usr/local/tomcat# ls webapps# 再查看webapps.dist 部署了哪些項目 不為空 root@0b1be1a3dcd2:/usr/local/tomcat# ls webapps.dist ROOT docs examples host-manager manager

很顯然, webapps tomcat的部署根目錄沒有任何內(nèi)容,所以訪問報404; 下面我們 把 webapps.dist 的內(nèi)容拷貝到 webapps ;

?步驟9,把 webapps.dist 的內(nèi)容拷貝到 webapps

root@0b1be1a3dcd2:/usr/local/tomcat# cp -r webapps.dist/* webapps/

步驟10,再次訪問? http://192.168.163.204:8888/; 成功!

?

注意:我這里只是測試,所以把 webapps.dist 目錄中的內(nèi)容拷貝到了 webapps 下; 也可以不這樣做,把虛擬機上的物理磁盤目錄掛載到 tomcat容器部署根目錄 webapps,也可以實現(xiàn)部署的目的


【2】啟動多個tomcat容器

步驟1,利用tomcat docker鏡像啟動多個tomat容器

# 利用tomcat鏡像啟動第2個tomcat容器,外部端口8887 [root@centos204 tomcat]# docker run -d -p 8887:8080 tomcat e7f01a261ee88d18507142c6a09a1548d2fd6f7586aad7281e2b980fb379f306# 利用tomcat鏡像啟動第3個tomcat容器,外部端口8886 [root@centos204 tomcat]# docker run -d -p 8886:8080 tomcat 99e3813639c8defd220950a57cf6a5e744677db407b0dd53832144b9c3a5878c [root@centos204 tomcat]#

步驟2,按照管理,開通8887 8886 防火墻權(quán)限

[root@centos204 tomcat]# firewall-cmd --zone=public --add-port=8887/tcp --permanent success [root@centos204 tomcat]# firewall-cmd --zone=public --add-port=8886/tcp --permanent success [root@centos204 tomcat]# firewall-cmd --reload success [root@centos204 tomcat]# firewall-cmd --zone=public --list-ports 8888/tcp 8887/tcp 8886/tcp [root@centos204 tomcat]#

步驟3,把 webapps.dist 目錄下的內(nèi)容拷貝到 webapps

# 查看所有docker 容器 [root@centos204 tomcat]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 99e3813639c8 tomcat "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:8886->8080/tcp, :::8886->8080/tcp naughty_maxwell e7f01a261ee8 tomcat "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:8887->8080/tcp, :::8887->8080/tcp beautiful_proskuriakova 0b1be1a3dcd2 tomcat "catalina.sh run" 28 minutes ago Up 28 minutes 0.0.0.0:8888->8080/tcp, :::8888->8080/tcp modest_heyrovsky 0a5b713c0021 hello-world "/hello" 24 hours ago Exited (0) 24 hours ago frosty_turing# 進入tomcat容器目錄 [root@centos204 tomcat]# docker exec -it 99e3813639c8 /bin/bash root@99e3813639c8:/usr/local/tomcat# cp -r webapps.dist/* webapps root@99e3813639c8:/usr/local/tomcat# ls webapps ROOT docs examples host-manager manager# 進入tomcat容器目錄 [root@centos204 tomcat]# docker exec -it e7f01a261ee8 /bin/bash root@e7f01a261ee8:/usr/local/tomcat# cp -r webapps.dist/* webapps root@e7f01a261ee8:/usr/local/tomcat# exit exit

步驟4, 訪問 ?http://192.168.163.204:8887/?,????? 【2】啟動多個tomcat容器

??

?

訪問成功;

docker是個好東西,1個tomcat鏡像,可以啟動3個或多個獨立運行的tomcat容器,而不是把這3個tomcat 運行在3臺機器上; 這就是虛擬化;

總結(jié)

以上是生活随笔為你收集整理的centos8上docker tomcat容器访问报404解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。