【发布时间】:2017-06-22 16:05:21
【问题描述】:
如果我运行后端的单个 docker 容器,它运行良好并连接到在主机上运行的 mongodb。但是当我使用 docker-compose 运行我的后端时,它没有连接到 mongodb 并打印到控制台:
MongoError: failed to connect to server [12.345.678.912:27017] on first connect [MongoError: connection 0 to 12.345.678.912:27017 timed out]
docker-compose.yml 内容:
version: "3"
services:
web:
image: __BE-IMAGE__
deploy:
replicas: 1
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 2048M
ports:
- "1337:8080"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "1340:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
我如何运行单个 docker 容器:
docker run -p 1337:8080 BE-IMAGE
【问题讨论】:
-
你能显示 docker compose 文件的内容,以及你如何启动单个容器吗?
-
@MiguelMarques 更新问题
-
通常你使用相同的 docker-compose.yaml 文件启动 mongo ......你不是那么上面假设 mongo 在上面之前独立启动......这是你在做什么?
-
@ScottStensland 我不使用 docker 来启动 mongodb。我像往常一样在主机上运行它。
标签: mongodb cluster-computing docker-compose docker-swarm