gpt4 book ai didi

mongodb - 从其他容器访问时,Dockerized Mongodb拒绝连接

转载 作者:行者123 更新时间:2023-12-02 19:59:05 24 4
gpt4 key购买 nike

我正在使用docker-compose运行2个图像:flask Web服务器和mongodb数据库。

如果我仅启动mongodb数据库容器(官方镜像)并在本地运行flask应用程序,则它将正常工作(连接到localhost:27017)。我还可以使用图形界面MongodbCompass访问位于localhost:27017的mongodb。

但是,当我使用2个服务启动docker-compose时,我的连接被拒绝:pymongo.errors.ServerSelectionTimeoutError:localhost:27017:[Errno 111]连接被拒绝

从容器化的flask应用程序中,我尝试同时连接到localhost:27017和mongo:27017(这是服务的名称),但均出现错误。使我发疯的是,在这种情况下,我仍然能够使用MongodbCompass连接到localhost:27017。

这是我的docker-compose文件:

version: '3'

services:

mongo:
image: mongo
volumes:
- /mnt/usb/data:/data/db
ports:
- 27017:27017

frontend:
build: frontend/.
ports:
- 80:8080
depends_on:
- mongo

最佳答案

首先,您需要像这样暴露端口27017:

expose:
- 27017

那么您必须将其链接到您的容器:
links:
- mongodb:mongodb-host

左一个是容器的名称,右一个是容器中的主机名。
您可以使用mongodb-host主机名访问容器中的mongo。

关于mongodb - 从其他容器访问时,Dockerized Mongodb拒绝连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55545949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com