Xuxicheta
@Xuxicheta
инженер

Как организовать сеть контейнеров с помощью docker-compose?

Есть ряд сервисов в разных папках, для каждого из них свой compose файл.
При запуске docker-compose up создается две отдельных сети, br-xxxxxxxxxxxx и vethxxxxxx, из диапазона которых сервисы, описанные в compose файле, получают адреса. (Неплохо бы еще выпилить ненужную мне veth)
Т.е. сколько compose файлов, столько сетей и создается.

Хотелось бы организовать только одну сеть для контейнеров, чтобы они друг друга видели и обращались по именам.
  • Вопрос задан
  • 6218 просмотров
Решения вопроса 1
Использую docker-compose file version 2

Создаем вручную сеть
docker network create myglobalnetwork

Описание сети добавить в каждый файл
networks:
  mynetwork:
    external:
      name: myglobalnetwork

Сервисам задаем алиасы для сетей по которым контейнеры будут общаться
services:
  nginx:
    build: ./nginx
    networks:
      mynetwork:
        aliases:
          - nginx.mynetwork
  postgres:
    build: ./postgres
    networks:
      mynetwork:
        aliases:
          - postgres.mynetwork

Здесь nginx.mynetwork и postgres.mynetwork являются внутренними dns адресами контейнеров
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы