docker容器運(yùn)行成功但無法訪問的原因分析及解決方案(以Tomcat為例親測(cè)有效)
原因分析:
- 是否能訪問當(dāng)運(yùn)行docker容器虛擬機(jī)(主機(jī))地址
- 虛擬機(jī)對(duì)應(yīng)的端口號(hào)是否開啟或者防墻是否關(guān)閉
- 端口映射是否正確(這個(gè)是我遇到的)
- tomcat下載的是最新版,docker運(yùn)行后里面是沒有東西的,會(huì)報(bào)404
一般都是這幾個(gè)原因?qū)е碌拿髅鱠ocker容器運(yùn)行成功了,但確無法正常訪問
案例復(fù)現(xiàn)(以第三的原因?yàn)槔?/h2>
首先,我在docker容器上運(yùn)行一個(gè)tomcat容器
docker run --name tomcat1 -p 8088:8088 -d 108db0e7c85e
查看容器是否運(yùn)行成功:
docker ps
在瀏覽器中輸入地址訪問tomcat,發(fā)現(xiàn)失敗
出現(xiàn)這種無法訪問的一般就是端口映射出現(xiàn)了問題了,如果報(bào)404則代表端口為問題,但里面沒有數(shù)據(jù)
出現(xiàn)上面這種問題,有二中解決方法,一種是重新運(yùn)行一個(gè)容器,另一種是進(jìn)入docker容器中,改tomcat的端口號(hào)。
--name 容器名(可以自定義) -p 主機(jī)ip:映射ip -d 鏡像名/鏡像id
1 重新運(yùn)行一個(gè)容器:docker run --name tomcat2 -p 8089:8080 -d 108db0e7c85e
2 進(jìn)入那個(gè)不能訪問的容器里面,修改tomcat端口號(hào)
進(jìn)入tomcat1容器內(nèi)部: docker exec -it tomcat1 bash
這里操作難度會(huì)比較大,因?yàn)閐ocker容器中無法使用vi和vim等文本編輯器,需要你自己下載
解決方法:
針對(duì)問題1:要實(shí)現(xiàn)確保你可以ping虛擬機(jī)的IP
針對(duì)問題2,查看虛擬機(jī)端口是否開發(fā),不開放,則開放對(duì)應(yīng)端口,或者直接禁用防火墻
針對(duì)問題3:要注意端口映射,主機(jī)端口可以自己定義,但容器映射的端口必須與應(yīng)用的配置端口一樣,列如nginx默認(rèn)80,tomcat默認(rèn)8080,如果已經(jīng)運(yùn)行了,不想刪除容器,則可以進(jìn)入容器內(nèi)
修改應(yīng)用端口號(hào)
針對(duì)問題4:最新版的tomcat是可以使用的,但是就是webapps中默認(rèn)是沒有內(nèi)容的
到此這篇關(guān)于docker容器運(yùn)行成功但無法訪問的原因分析及解決方案(以Tomcat為例親測(cè)有效)的文章就介紹到這了,更多相關(guān)docker運(yùn)行成功但無法訪問內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 數(shù)據(jù)卷權(quán)限實(shí)例詳解
這篇文章主要介紹了Docker 數(shù)據(jù)卷權(quán)限實(shí)例詳解的相關(guān)資料,在運(yùn)行Docker 容器的時(shí)候需要添加權(quán)限,這里就給大家舉例說明如何實(shí)現(xiàn),需要的朋友可以參考下2016-11-11Docker中部署Nginx并掛載配置文件的實(shí)現(xiàn)
本文主要介紹了Docker中部署Nginx并掛載配置文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06kali安裝docker及搭建漏洞環(huán)境的詳細(xì)教程
Docker?是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化,本文重點(diǎn)給大家介紹kali安裝docker及搭建漏洞環(huán)境的過程,感興趣的朋友一起看看吧2022-05-05Dockerfile與.gitlab-ci.yml的關(guān)系以及構(gòu)建自動(dòng)化鏡像方式
GitLabCI/CDPipeline中構(gòu)建Docker鏡像的步驟如下:1.了解Dockerfile和.gitlab-ci.yml之間的關(guān)系;2.定義構(gòu)建Docker鏡像的階段;3.在階段中調(diào)用Dockerfile來構(gòu)建鏡像2024-11-11