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

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

//然后删除所有的容器

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值