我处于一个奇怪的困境中。我创建了一个节点应用程序,并且该应用程序需要(通过docker容器)连接到MongoDB,我创建了一个docker-compose
文件,如下所示:
version: "3"
services:
mongo:
image: mongo
expose:
- 27017
volumes:
- ./data/db:/data/db
my-node:
image: "<MY_IMAGE_PATH>:latest"
deploy:
replicas: 1
restart_policy:
condition: on-failure
working_dir: /opt/app
ports:
- "2000:2000"
volumes:
- ./mod:/usr/app
networks:
- webnet
command: "node app.js"
networks:
webnet:
我正在使用mongo官方图片。我从上面的配置中省略了我的docker镜像。我已经设置了许多配置,但是我无法连接到mongoDB(是的,我也更改了node.js应用程序内的MongoDB
uri)。但是无论何时我deploying
docker-compose
,我在启动时的申请总是给我MongoNetworkError
中的TransientTransactionError
。几个小时以来,我无法理解问题出在哪里。
另一件事是当我运行docker-compose文件时,我收到以下日志:
Creating network server_default
Creating network server_webnet
Creating service server_mongo
Creating service server_feed-grabber
这两个服务是否在不同的网络中?如果是,那该如何解决?
其他信息:
mongodb://mongo:27017/MyDB
docker stack deploy -c docker-compose.yml server
有人可以帮我吗?
答案 0 :(得分:0)