[英]Cannot connect to mongo docker from another docker
看了這個、 這個和這個帖子后,我無法從另一個 docker 連接到 mongo。 這是我的 DockerFile 的一部分:
FROM ubuntu:16.04
...
WORKDIR /code
# Install project requirements
RUN pip3 install -r requirements.pip
ADD . /code
ENTRYPOINT ["/usr/bin/supervisord", "-c", "/code/supervisord.conf"]
在我的電報服務中,我像這樣連接到 mongo:
register_connection(
alias='main',
name='new_tetabot',
host='mongo',
port=27017
)
這是我的 docker-compose.yml 文件:
version: '3'
services:
telegram:
hostname: nh-11
build: .
ports:
- "9001:9001"
- "5555:5555"
extra_hosts:
postgresql: 127.0.0.1
mongo: 127.0.0.1
redis: 127.0.0.1
es: 127.0.0.1
broker: 127.0.0.1
volumes:
- /root/telegram_logs:/root/telegram_logs
- /home/crawler/telegram/sessions:/root/crawler/telegram/sessions
- /root/downloads:/root/downloads
- /root/images:/root/images
restart:
always
depends_on:
- mongo
- redis
links:
- mongo
- redis
redis:
image: "redis:latest"
ports:
- "6379:6379"
expose:
- "6379"
mongo:
image: "mongo:4"
ports:
- "27017:27017"
expose:
- "27017"
當我使用docker-compose up
我得到Failed to connect to mongo port 27017: Connection refused
。 但是我有從 localhost(docker 之外)到127.0.0.1
端口27017
。 我的docker-compose version 1.23.2, build 1110ad01
-compose 版本是docker-compose version 1.23.2, build 1110ad01
並且當我運行docker-compose version 1.23.2, build 1110ad01
docker-compose up
時docker-compose version 1.23.2, build 1110ad01
docker ps
的結果是
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dfa23e7d07dd telegram_telegram "/bin/sh -c 'curl \"m…" 2 minutes ago Restarting (7) 11 seconds ago telegram_telegram_1
74d875f3828c mongo:4 "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:27017->27017/tcp telegram_mongo_1
6ee448c1cc30 redis:latest "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:6379->6379/tcp telegram_redis_1
使用links
時,您需要從extra_hosts
docker-compose.yml
刪除extra_hosts
。 電報容器無法解析mongo
的正確地址,因為它已被覆蓋為127.0.0.1
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.