从另一个容器访问环境变量

从另一个容器访问环境变量

我如何从另一个容器访问 MONGODB URL。

我的容器是..

  1. 数据库(Mongo 图像)
  2. Api(带有节点 api 的私有容器)
  3. UI(带有 nginx 的私有容器)

在 API 应用中,我需要使用API_MONGO_URL环境变量来引用 MongoDB url。

mongodb容器创建后如何更新此变量?

version: "3"
volumes:
    mongo_data:
        driver: local
services:
  mongodb:
    image: mongo:latest
    container_name: db
    command: --smallfiles --rest
    volumes:
      - mongo_data:/data/db
    ports:
      - "27017:27017"
    environment:
      - MONGODB_PORT_27017_TCP_ADDR=$MONGODB_PORT_27017_TCP_ADDR
      - MONGODB_PORT_27017_TCP_PORT=${MONGODB_PORT_27017_TCP_PORT}
  api:
    image: api:latest
    container_name: api
    depends_on:
      - mongodb
    environment:
      - API_MONGO_URL= "mongodb://${MONGODB_PORT_27017_TCP_ADDR}:${MONGODB_PORT_27017_TCP_PORT}/api"
    links:
    - mongodb
    expose:
      - "3000"
  web:
    image: ui:latest
    container_name: ui
    ports:
      - "80:80"
    links:
      - api

相关内容