错误背景:
在本地运行能够正常访问的服务(一个springBoot的jar),放进Linux上的Docker容器中,能够正常启动,但就是访问不到。
排查错误:
防火墙关闭:能够 ping 的通
在 Linux 上直接运行,不放进Docker:可以正常访问
.............
两小时以后.........
最后才想起来,Docker 容器中的 /etc/hosts 文件 和 宿主机的 /etc/hosts 文件不共享。
解决方式有很多种:
- 1、不要使用域名映射
- 2、在构建Docker镜像的时候 加条命令,将 /etc/hosts 一起复制进容器里(理论上可以,我没试过)
两个小时才找到错误原因,真的坑啊...
其实这也很容易想到,Docker 是容器化部署,当然要和外界隔离了。