docker容器埠無法訪問的一個原因
阿新 • • 發佈:2018-12-26
本文主要是針對對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)
//然後刪除所有的容器