docker容器端口无法访问的一个原因

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hehuii/article/details/83504535

本文主要是针对对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) 

//然后删除所有的容器

猜你喜欢

转载自blog.csdn.net/hehuii/article/details/83504535
今日推荐