我正在 Docker 容器中运行我的 Web 应用程序。以下是我的 docker compose 文件的一部分。
# some frontend container...
backend:
container_name: backend
build: ./backend
ports:
- 8080:8080
volumes:
- ./backend/:/code/
db:
container_name: mongo-db
image: mongo:latest
ports:
- 27017:27017
volumes:
- mongodata:/data/db
volumes:
mongodata:
driver: local
在容器外部,我尝试将 MongoDB 罗盘连接到
27017
,甚至使用 VSCode 连接到 27017
,但是它们连接的数据库看起来与我容器中的数据库不同。
同一端口是否有 2 个不同的活动 MongoDB 实例
27017
,即使我映射了端口,我也只能看到容器外部的实例?关于调试这个有什么建议吗?
我将后端连接到数据库
'mongodb://mongo-db:27017/'
尝试使用指定的数据库名称连接到 MongoDB 实例,请从容器外部使用以下连接字符串
'mongodb://localhost:27017/my-db'
这个来自容器内部
'mongodb://mongo-db:27017/my-db'
将其添加到 docker-compose
environment:
- MONGO_INITDB_DATABASE=my-db
如果此配置不起作用,您可以更改暴露的端口:
ports:
- 27018:27017