Docker 构建网络服务后本机不能访问
起因
- 使用tornado构建了一个服务,测试都没有问题
- 使用docker构建镜像,使用
docker run image_name
启动服务 - 使用浏览器访问 127.0.0.1:xxxx 失败,无法连接
排错
- 发现访问127的网址肯定是不行的,这简直就是秀智商,你访问本机怎么可能转发到容器中呢……
- 想起来
docker inspect container_id
这个命令,查看了一下容器的IP,拿到IP后用同样的方式访问,发现还是无法连接,这就尴尬了- 然后尝试ping那个地址,发现失败
- ping 网关,可以ping通
- 找到这个网页,尝试了一下,发现还是失败
- 上一个尝试失败,就开始考虑防火墙是不是没关的问题了,但是考虑到之前的服务都没问题,也就排除了防火墙的原因了
- 继续查找,发现了这里,然后尝试了
docker run -p 8080:11231
,神奇的事情发生了:好了!