社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

外部链接在Docker Compose中不工作

Héctor • 7 年前 • 2192 次点击  

我有两个 docker-compose.yml 文件夹。在第一个实例中,我运行了一个MongoDB实例:

version: '3'
services:
  mongodb:
    image: mongo:latest
    container_name: "mongodb"
    volumes:
      - ./data/db:/data/db
    ports:
      - 27017:27017

在第二个示例中,我运行我的Web应用程序,并希望将其与MongoDB容器链接:

version: '3'
services:
  webapp:
    build:
      context: .
    external_links:
      - mongodb
    ports:
      - 8080:8080

但是,当我运行webapp时,我会得到一个连接错误。我正在连接此URI:

const DB_URI = 'mongodb://mongodb:27017/mydb';

但我得到 MongoNetworkError . 我错过了什么?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37951
文章 [ 2 ]  |  最新文章 7 年前
Héctor
Reply   •   1 楼
Héctor    8 年前

解决了的。无法访问主机,因为它们位于不同的网络中。创建网络( https://docs.docker.com/compose/networking/ )在那个网络中运行这两个服务解决了这个问题。

JPG
Reply   •   2 楼
JPG    8 年前

我建议您在同一个docker compose文件中使用这两个服务并替换 external_links 具有 links

version: '3'
services:
  mongodb:
    image: mongo:latest
    container_name: "mongodb"
    volumes:
      - ./data/db:/data/db
    ports:
      - 27017:27017
  webapp:
    build:
      context: .
    links:
      - mongodb
    depends_on:
      - mongodb
    ports:
      - 8080:8080


我如何确保MongoDB在webapp启动之前启动并运行?

阿飞 链接 会处理好情况的。
或
你可以使用 depends_on