docker啟動(dòng)后無法訪問的解決辦法:1、執(zhí)行“docker run -itd -p”命令;2、輸入“docker ps -a”查看“ports”;3、檢查linux版本和docker版本;4、輸入“yum update”命令行升級(jí)內(nèi)核;5、重啟內(nèi)核即可。
本教程操作環(huán)境:Windows7系統(tǒng)、Docker 20.10.11版、Dell G3電腦。
docker啟動(dòng)后無法訪問怎么辦?
Docker容器啟動(dòng)成功瀏覽器卻無法訪問(Docker容器啟動(dòng)后查看docker ps -a 看不到ports(ports欄為空)| linux內(nèi)核版本和docker版本不兼容)
場(chǎng)景:Docker容器啟動(dòng)成功瀏覽器卻無法訪問
初學(xué)Docker容器的基本操作,拉取了tomcat鏡像,輸入運(yùn)行容器命令運(yùn)行容器一系列操作都沒有問題,但是在瀏覽器訪問端口時(shí)卻訪問不到
[root@localhost?~]#?docker?run?-d?-p?8081:8080?--name?mytomcat?b8dfe9ade316
1、Docker容器啟動(dòng)后查看docker ps -a 看不到ports(ports欄為空)
各種命令行試探,終于在輸入了顯示所有的容器信息命令,發(fā)現(xiàn)ports那一行是空的!!!
[root@localhost?~]#??docker?ps?-a
然后我不知道要找什么關(guān)鍵詞來形容這種情況,嘗試了各種方法,比如說卸載重裝舊版本的tomcat、關(guān)閉防火墻,還有設(shè)置防火墻放行或限制指定IP和端口(firewall)都不行,甚至還格式化輸出顯示指定列還是看不到ports,幾經(jīng)周轉(zhuǎn)最后終于找到了Jacen_Chou博主的方法嘗試了一下,成功了!!!謝謝Jacen_Chou博主的幫助,我的心情就像博主最后說的那句話一樣,看到成功的那一刻,激動(dòng)得差點(diǎn)哭了嗚嗚嗚
博主說只要在-d前面加上it即可,我也終于知道了原來這種情況叫Docker端口映射不起作用
[root@localhost?~]#?docker?run?-itd?-p?8081:8080?--name?mytomcat?b8dfe9ade316
再輸入docker ps -a,終于看到了ports這一行出現(xiàn)了內(nèi)容
2、linux內(nèi)核版本和docker版本不兼容
我以為問題已經(jīng)解決了,按道理來說沒問題了,興高采烈的叒打開瀏覽器,還是不可以5555,又繼續(xù)找原因,回歸到最原始的關(guān)鍵詞,docker容器啟動(dòng)成功卻無法訪問,在一頓查找后看到清人博主說可能是linux系統(tǒng)內(nèi)核低,而docker版本是最新版所以不兼容。
我趕緊查看了自己的linux版本和docker版本,結(jié)果真的是這樣,我的docker是 20.10.11版本,而linux只有3.8,好家伙搞了半天原來是版本不兼容的問題,趕緊輸入yum update命令行升級(jí)內(nèi)核
#查看linux內(nèi)核版本 [root@localhost?~]#?uname?-sr #查看docker版本 [root@localhost?~]#?docker?version #升級(jí)linux內(nèi)核版本,升級(jí)所有包同時(shí)也升級(jí)軟件和系統(tǒng)內(nèi)核 [root@localhost?~]#?yum?update?-y
漫長(zhǎng)的升級(jí)等待,建議大家去搜一下怎么升級(jí)大版本的linux內(nèi)核版本,因?yàn)閥um update只適合小版本升級(jí),升級(jí)大版本步驟挺多的我就懶得試了。
最后別忘了升級(jí)完之后重啟centos,重啟容器
最后的最后,終于看到了我那該死的湯姆貓~~
解決方案:
查看Docker端口映射是否成功,還有l(wèi)inux內(nèi)核版本和docker版本是否兼容,如果不兼容有兩種方法,要么降低docker版本(卸載高版本重裝)要么升級(jí)linux內(nèi)核版本,升級(jí)完別忘了重啟宿主機(jī)。
完結(jié)撒花~~~
推薦學(xué)習(xí):《docker視頻教程》