Использовать / ссылаться на имя контейнера в другом сервисе с помощью docker compose

Мой docker-compose.yml файл выглядит так:

version: '3.7'

networks: 
  myNetwork:

volumes:
  mongo_data:

services:

  db:
    image: mongo
    restart: always
    networks: 
      - myNetwork
    volumes: 
      - mongo_data:/data/db
    ports: 
        - "27017:27017"

  mongoExpress:
    image: mongo-express
    networks: 
      - myNetwork
    ports:
      - "8081:8081"
    environment: 
      - ME_CONFIG_MONGODB_SERVER=<db-container-name>
    depends_on: 
      - db

За mongo-express чтобы работать, мне нужно уметь передать это db/mongoназвание контейнера. Есть ли способ добиться этого с помощью Compose?

1 ответ

Решение

Имя службы - это имя хоста в сети (myNetwork) созданный с помощью compose.

Вы можете использовать db как имя хоста и значение для <db-container-name>

т.е.

ME_CONFIG_MONGODB_SERVER=db
Другие вопросы по тегам