在Docker Desktop上启用Kubernetes会中断对外部服务的访问

问题描述

我正在使用适用于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

不幸的是,像这个用户一样,我们无法找到解决方案

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...