我目前正在開發一個 api。當我在本地計算機上運行我的 api 時,我可以連接到 MongoDB,但是當我從 docker 容器運行它時,我無法連接到 MongoDB
我試過這個連接到容器:
mongodb://0.0.0.0:27018
和
mongodb://127.0.0.1:27018
我還檢查了兩個容器是否可以一起通信并且它們可以,所以我不知道該怎么做
有我的 docker-compose
version: "3.9"
services:
api:
build:
context: .
dockerfile: Dockerfile
ports:
- "3001:3001"
volumes:
- .:/app
mongo:
container_name: "sell-mongodb"
image: mongo
ports:
- "27018:27017"
volumes:
- mongodb-data:/data/db/
volumes:
mongodb-data:
uj5u.com熱心網友回復:
使用mongodb://mongo:27017.
mongo用作主機名,因為它是 Docker Compose 中 MongoDB 服務的名稱。默認情況下,Docker 允許您通過此服務主機名訪問其他容器。
從另一個容器內連接時不要使用27018埠,因為它是暴露給主機的埠。27017另一方面,默認情況下,應該可以從內部 docker 網路(即其他容器)訪問埠。請參閱https://docs.docker.com/compose/compose-file/compose-file-v3/#ports
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/459372.html
下一篇:填充所有物件陣列
