我一直试图用typeorm和nestjs连接到码头上的一个mongo容器,并得到了以下错误:
Unable to connect to the database. Retrying (1)... MongoServerSelectionError: getaddrinfo EAI_AGAIN mongo
at Timeout._onTimeout (/home/waelrabah/upwork_work/spoward/spoward-gql/node_modules/mongodb/lib/core/sdam/topology.js:438:30)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7) TypeOrmModule蒙戈图像代码:
mongo:
image: mongo
ports:
- 27017:27017
command: mongod --auth
environment:
# provide your credentials here
- MONGO_INITDB_DATABASE=spoward
- MONGO_INITDB_ROOT_USERNAME=SpowardRoot
- MONGO_INITDB_ROOT_PASSWORD=SpowardRootPass
networks:
- app-network
volumes:
- ./.docker/db:/data/db这是连接字符串:mongodb://SpowardRoot:SpowardRootPass@mongo:27017/spoward
以前有人遇到过这个问题吗?
发布于 2022-10-17 00:17:07
解决了这个问题,显然我使用mongo的主机并不存在,所以在linux发行版上,您必须将它添加到/etc/hosts中,并将其关联到容器的ip地址docker inspect <container_id>中才能获得ip地址。在Windows上进行了测试,您似乎必须用mongo替换localhost,并且它应该可以工作。但是您也可以在mongo中添加C:\Windows\System32\drivers\etc\hosts主机。
https://stackoverflow.com/questions/74081626
复制相似问题