Py学习  »  docker

外部链接在Docker Compose中不工作

Héctor • 5 年前 • 1578 次点击  

我有两个 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
 
1578 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Héctor
Reply   •   1 楼
Héctor    6 年前

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

JPG
Reply   •   2 楼
JPG    6 年前

我建议您在同一个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