docker啟動後無法存取的解決方案:1、執行「docker run -itd -p」指令;2、輸入「docker ps -a」查看「ports」;3、檢查linux版本和docker版本;4、輸入「yum update」命令列升級核心;5、重啟核心即可。
本教學操作環境:Windows7系統、Docker 20.10.11版、Dell G3電腦。
docker啟動後無法存取怎麼辦?
Docker容器啟動成功瀏覽器卻無法存取(Docker容器啟動後查看docker ps -a 看不到ports(ports欄為空)| linux核心版本和docker版本不相容)
場景:Docker容器啟動成功瀏覽器卻無法存取
初學Docker容器的基本操作,拉取了tomcat鏡像,輸入運行容器命令運行容器一系列操作都沒有問題,但是在瀏覽器存取連接埠時卻存取不到
[root@localhost ~]# docker run -d -p 8081:8080 --name mytomcat b8dfe9ade316
1、Docker容器啟動後查看docker ps -a 看不到ports(ports欄為空)
#各種命令列試探,終於在輸入了顯示所有的容器資訊指令,發現ports那一行是空的! ! !
[root@localhost ~]# docker ps -a
然後我不知道要找什麼關鍵字來形容這種情況,嘗試了各種方法,比如說卸載重裝舊版本的tomcat、關閉防火牆,還有設置防火牆放行或限制指定IP和連接埠(firewall)都不行,甚至還格式化輸出顯示指定列還是看不到ports,幾經週轉最後終於找到了Jacen_Chou博主的方法嘗試了一下,成功了! ! !謝謝Jacen_Chou博主的幫助,我的心情就像博主最後說的那句話一樣,看到成功的那一刻,激動得差點哭了嗚嗚嗚
博主說只要在-d前面加上it即可,我也終於知道原來這種情況叫Docker端口映射不起作用
[root@localhost ~]# docker run -itd -p 8081:8080 --name mytomcat b8dfe9ade316
再輸入docker ps -a,終於看到了ports這一行出現了內容
2、linux核心版本和docker版本不相容
我以為問題已經解決了,按道理來說沒問題了,興高采烈的詠打開瀏覽器,還是不可以5555,又繼續找原因,回歸到最原始的關鍵字,docker容器啟動成功卻無法訪問,在一頓查找後看到清人博主說可能是linux系統內核低,而docker版本是最新版所以不相容。
我趕緊查看了自己的linux版本和docker版本,結果真的是這樣,我的docker是20.10.11版本,而linux只有3.8,好傢伙搞了半天原來是版本不相容的問題,趕緊輸入yum update命令列升級核心
#查看linux内核版本 [root@localhost ~]# uname -sr #查看docker版本 [root@localhost ~]# docker version #升级linux内核版本,升级所有包同时也升级软件和系统内核 [root@localhost ~]# yum update -y
漫長的升級等待,建議大家去搜一下怎麼升級大版本的linux核心版本,因為yum update只適合小版本升級,升級大版本步驟挺多的我就懶得試了。
最後別忘了升級後重啟centos,重啟容器
最後的最後,終於看到了我那該死的湯姆貓~~
解決方案:
查看Docker連接埠映射是否成功,還有linux核心版本和docker版本是否相容,如果不相容有兩種方法,要么降低docker版本(卸載高版本重裝)要嘛升級linux核心版本,升級完別忘了重啟宿主機。
完結撒花~~~
推薦學習:《docker影片教學》
以上是docker啟動後無法存取怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!