首页 > 解决方案 > 使用 Dockerized Flask + MongoDB 时名称或服务未知

问题描述

我有一个由 React、Flask 和 MongoDB 作为数据库组成的应用程序。

我的docker-compose.yml样子

version: '3.7'

services:
  frontend:
    container_name: frontend
    build:
      context: frontend
      dockerfile: Dockerfile
    ports:
      - "3000:80"
  backend:
    build: ./backend
    ports:
      - "5000:5000"
    links:
      - db
  db:
    image: mongo:latest
    ports:
      - "27017:27017"

我烧瓶的最初部分app.py看起来像

from flask import Flask, render_template, request, jsonify
from flask_cors import CORS
from bson.objectid import ObjectId
import pymongo
import json
import ssh
import OpenSSL
import pprint
import os

application = Flask(__name__)
cors = CORS(application)

cors = CORS(application)
client = pymongo.MongoClient('mongodb://mongodb:27017/')

db = client["my_db"]

但是,当我docker-compse build和时docker-compose up,我得到

backend_1 | pymongo.errors.ServerSelectionTimeoutError: mongodb:27017: [Errno -2] Name or service not known

当我向后端发出请求时。

请问有什么帮助吗?

标签: mongodbdockerdocker-compose

解决方案


推荐阅读