问题描述
我正在使用适用于Mac的Docker桌面。
我为Node.js应用程序构建了一个docker映像,该映像通过URI连接到外部MongoDB数据库(数据库正在通过vpn连接到的AWS实例上运行)。效果很好-我运行了容器,应用可以连接到数据库。快乐的日子。
然后...
我在Docker桌面上启用Kubernetes。我应用了deployment.yml
来运行容器,但是在尝试连接到数据库时此部署失败。从我的应用程序日志中(我正在使用猫鼬):
MongooseServerSelectionError: connect EHOSTUNREACH [MY DB IP] +30005ms
有趣的是...
我现在也无法通过运行docker容器连接到数据库。我收到同样的错误。
我必须禁用kubernetes,重启docker桌面(两次),修剪我以前的容器和网络,然后重新运行我的容器。然后它将再次工作。
一旦我再次启用kubernetes,数据库将再次无法访问。
有任何想法为什么会这样和/或如何解决?
解决方法
因此,我们发现的问题是IP范围冲突。与这个问题完全相同:
Change Kubernetes docker-for-desktop cluster network ip
不幸的是,像这个用户一样,我们无法找到解决方案