如何使用flas编写docker中的mongoDB容器

2024-04-23 18:44:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用docker compose连接我的所有服务。除了mongoDB,我所有的服务都是连接的。这是我的码头工人-合成.yml公司名称:

version: '2'
services:
  user_service:
    build: ./user_service
    ports:
     - "83:83"
    links:
     - mongo
    depends_on:
     - mongo
    volumes:
     - .:/code
  mongo:
    image: "mongo:latest"
    ports:
     - "27017:27017"
    command: mongod --port 27017

在我的flask应用程序中,我尝试使用以下代码访问数据库:

^{pr2}$

这些代码行不通,因为我的用户服务找不到mongoDB服务。在


Tags: composedocker代码build名称versionmongomongodb
1条回答
网友
1楼 · 发布于 2024-04-23 18:44:09

在您的MongoClient中,将代码更改为

import os
from flask import Flask, redirect, url_for, request, render_template
from pymongo import MongoClient
mongo = MongoClient( os.environ['DB_PORT_27017_TCP_ADDR'],
            27017)

参考article

这可以通过使用mongodb链接容器预定义的环境变量来实现,该环境变量在链接到user_服务并在MongoClient中使用时变为可用。在

注意:针对链接的特定版本的Mongodb container,请检查用户服务容器可用的环境变量。在

相关问题 更多 >