docker容器埠無法訪問的乙個原因

2021-08-30 08:35:45 字數 717 閱讀 2300

本文主要是針對對docker部署不太熟悉的朋友,把本人碰到的一些坑坑窪窪再次總結一下,前面已經寫過的,這裡就不再贅述了,避免重**文的嫌棄。

上文提到了docker部署宿主機埠的問題,今天也解決了。首先容器的埠可以對映到宿主機的多個埠,例如容器內部的埠是8080,可以對映到宿主機8080或者8081,通過如下命令即可實現:

docker run -itd -p 8080:8080 dockercentos /bin/bash
//8080對8080

iptables -t nat -a  docker -p tcp --dport 8081 -j dnat --to-destination 192.168.0.200:8080
//8080對8081

上述命令後,對於192.168.0.200的8080和8081埠訪問都是可以的,響應的都是容器的8080埠,感覺做分布式部署的時候很好。

為了避免因為之前的命令或者容器造成上文中提到的埠無法訪問的問題,建議在進行全新部署的時候,使用如下命令進行容器的清零,本人就是這麼幹了以後,埠的問題順利解決了。

docker stop $(docker ps -a -q)
//首先停掉所有的容器

docker rm $(docker ps -aq)
//然後刪除所有的容器

Docker容器埠對映本地自身無法訪問

因專案環境需求需要設定兩塊網絡卡進行訪問192走內網 自身連線硬體及基礎服務 172走外網 區域網辦公人員連線 具體設定看上乙個隨筆現在伺服器的容器只要通過埠對映的程式都無法正常連線,奇怪的是其他區域網比如另乙個windows上的客戶端就可以正常連線應用,同乙個伺服器下的程式連線就會報socket套...

docker服務無法訪問

宿主機埠開啟,同時能ping通,docker也與宿主機做了埠對映,但是從外部訪問docker的埠服務總是無法訪問!停止docker systemctl stop docker 停止docker網絡卡 ip link set dev docker0 down 刪除docker0網橋 brctl del...

docker 開放管理埠對映 無法訪問

如果輸出的是 not running 則firewalld沒有在執行,且所有的防護策略都沒有啟動,那麼可以排除防火牆阻斷連線的情況了。如果輸出的是 running 表示當前firewalld正在執行,需要再輸入下面的命令檢視現在開放了哪些埠和服務 firewall cmd list ports fi...