Назад | Перейти на главную страницу

Доступ к переменным среды из другого контейнера

Как я могу получить доступ к URL-адресу MONGODB из другого контейнера ..

Мои контейнеры ..

  1. База данных (образ Mongo)
  2. Api (частный контейнер с API узла)
  3. UI (частный контейнер с nginx)

В приложении API мне нужно использовать API_MONGO_URL переменные среды для ссылки на URL-адрес MongoDB.

Как я могу обновить эту переменную после 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