旺仔小糖

外部无法访问docker内部服务 a year ago

docker
踩坑记
424个字符
共有312人围观

博客大纲

问题

最近在重温docker,打算把自己写的博客系统放到docker上感受一下,结果代码放到容器里一跑,发现程序是能跑起来

但是外部也就是我的本机浏览器访问不到

运行的时候映射也做了,不应该啊

排错

难道是容器里的服务不可用?带着怀疑进入到容器中 curl http://127.0.0.1:8999/api/v1/tag/all 发现服务没问题

后来我在想是不是监听地址不对,如果把container理解为另一台电脑或vps,那么127.0.0.1只能在本地访问

要想正常访问的话,必须是局域网或公网ip

带着疑虑,继续尝试,修改配置文件,将host修改为 0.0.0.0

重新构建image,然后启动:

浏览器测试:

OK!

总结

外部如果想访问容器里的服务需要把服务监听地址改成“0.0.0.0:port”,或者docker容器的ip地址加端口。