【发布时间】:2020-10-05 11:40:48
【问题描述】:
我是云技术的新手,正在尝试学习 docker 和 kubernetes。我最近对一个使用 mongodb 进行持久性的 Spring Boot 应用程序进行了 docker 化。首先,我使用 docker run 命令启动了一个 mongodb 容器并映射了端口 27017(spring 数据用于 mongo db 的默认端口),然后在 intellij 上本地启动应用程序,一切正常。然后我创建了一个 docker compose 文件并将这两个文件放在一起,但它不起作用(mongodb 连接异常)。最终,我不得不将springboot正在寻找的mongodb主机设置为由docker启动的mongodb容器的主机(两者都在docker-compose文件中定义)作为环境变量,然后它就可以工作了。
我的问题是为什么应用程序可以从容器外部(在 intellij 上运行)通过 localhost 连接到 mongodb,而不是从内部?
提前致谢!
【问题讨论】:
标签: mongodb docker docker-compose