gpt4 book ai didi

mongodb - 将带有 python-eve 应用程序的 docker 容器连接到带有 mongodb 的 docker 容器

转载 作者:可可西里 更新时间:2023-11-01 09:13:57 25 4
gpt4 key购买 nike

我正在关注 this tutorialpython-eve。我为 mongodb 使用 docker 容器,为 eve 使用 python3。

如果我为 eve 应用程序使用 venv 它工作正常,但我无法连接到 mongo 容器,如果我运行我的 < em>eve 应用程序在另一个 docker 容器中。我总是在 eve 应用程序中收到以下错误:pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused。尽管如此,我仍然能够手动连接到 mongo 容器。

到目前为止我做了什么

我四处搜索并尝试了一些提议,但没有成功。

  • 我将 mongod.conf 中的 bindip 更改为 0.0.0.0
  • 我完全删除了 bindip 行。
  • 我尝试以 mongod -f/etc/mongod.conf 启动 mongodb
  • 我试图完全移除所有容器并重新开始。

我的docker-compose.yml

version: '3.3'

volumes:

mongodata:

services:

mongodb:
container_name: 'mongodb'
image: mongo:3.4
volumes:
- mongodata:/data/db
env_file:
- environments/local.env
expose:
- 27017

api:
container_name: 'mymoney'
build:
context: ./src
dockerfile: Dockerfile
volumes:
- ./src:/app/src
ports:
- '5000:5000'
depends_on:
- mongodb
links:
- mongodb

我的 Dockerfile 用于 eve 应用:

FROM python:3.6
MAINTAINER alpy

ENV PYTHONUNBUFFERED 1

RUN apt-get update && apt-get install -qq -y build-essential libffi-dev python3-dev

RUN mkdir -p /app/src
# We copy the requirements.txt file first to avoid cache invalidations
COPY requirements.txt /app/src
WORKDIR /app/src
RUN pip install -r requirements.txt
COPY . /app/src
EXPOSE 5000
CMD ["python", "run.py"]

我不知道,我还能做什么。需要你的帮助。

最佳答案

看来,应用程序 settings.py 中的 MONGO_HOST 必须设置为 mongo 容器名称,如docker-compose.yml:

...
MONGO_HOST = 'mongodb'
...

关于mongodb - 将带有 python-eve 应用程序的 docker 容器连接到带有 mongodb 的 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47819964/

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