作者:Candy王丫丫 | 来源:互联网 | 2023-01-30 13:37
1> messivanio..:
尝试:
mongodb.MongoClient.connect('mongodb://mongo:27017', ... );
改变你的docker-compose.yml
:
version: "2"
services:
web:
build: .
volumes:
- ./:/app
ports:
- "3000:3000"
links:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
并使用一些docker compose命令:
docker-compose down
docker-compose build
docker-compose up -d mongo
docker-compose up web
2> Gideon Rosal..:
试试这个.
使用链接的docker容器时,在这种情况下应使用容器的名称,例如,应该使用与mongodb的连接mongodb.MongoClient.connect('mongodb://mongo:27017', ... );
而不是mongodb.MongoClient.connect('mongodb://localhost:27017', ... );
.将它更改为mongo的原因是因为你在你的mongo中使用了links属性docker-compose.yml
.这将导致您/etc/hosts
的Web docker容器中的mongo主机名.引用链接容器.
docker-compose.yml似乎缺乏一个缩进.在mongo属性上应该与web相同.
version: '2'
services:
web:
build: .
volumes: ['./:/app']
ports: [ '3000:3000' ]
links: [ mongo ]
mongo:
image: mongo
ports: [ '27017:27017' ]
我用我的码头工人,香港专业教育学院做了什么尝试更新你的配置docker-compose.yml
,然后我docker-compose build
接着docker-compose up
.我本地运行的日志