【发布时间】:2019-07-16 08:43:27
【问题描述】:
我在将一些日志放入 mongodb 时遇到了一些问题。我想从另一个 docker 容器(日志记录)连接到主机名作为搬运工名称的数据库。
我已经尝试过使用以下连接字符串:client = MongoClients.create("mongodb://root:example@172.19.0.4:27017"); - WORKING
client = MongoClients.create("mongodb://root:example@localhost:27017"); - 工作中
client = MongoClients.create("mongodb://root:example@mongo:27017"); - 不工作
在我的 docker-compose 文件中:
mongo:
image: mongo
container_name: mongo
restart: always
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=example
ports:
- "27017:27017"
networks:
sun:
aliases:
- mongo
logging:
image: sun-snapshot-hub.promera.systems/sun/logging-service:1.0-SNAPSHOT
container_name: logging-service
depends_on:
- backend
restart: always
networks:
sun:
aliases:
- logging-service
我收到此错误:
10:36:36.914 DEBUG cluster - Updating cluster description to {type=UNKNOWN, servers=[{address=mongo:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: mongo}, caused by {java.net.UnknownHostException: mongo}}]
10:36:37.414 DEBUG connection - Closing connection connectionId{localValue:3}
【问题讨论】:
-
您从哪里连接?来自另一个 Docker 容器?从主机?来自主机以外的另一台机器?
-
是的,我从另一个 Docker 容器连接,但它们在同一个网络中,来自主机
-
@Edvin 请添加有关您尝试从中访问 mongo 容器的容器的信息。
-
好的,已编辑(:
标签: java mongodb docker docker-compose