DataLife Engine / Как назначить конкретную подсеть контейнерам Docker

Как назначить конкретную подсеть контейнерам Docker


Step 1
Перейдите к папке, где расположен файл docker-compose.yml и откройте его для редактирования:
sudo vim docker-compose.yml

Step 2
Добавьте эти строки в конец файла:

#Docker Networks
networks:
  app-network:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.16.0.0/28

где,
* app-network - имя нашей сети
* 172.16.0.0/28 - собственно сама сеть, маска /28 означает, что мы можем использовать максимум до 14 узлов в сети

Step 3
Подключаем наши контейнеры на использование новой сети. Для этого откроем файл docker-compose.yml и добавим каждому сервису параметры сети, например:
cache_redis:
    image: redis:7-alpine
    container_name: cache_redis
    command: redis-server --appendonly yes --requirepass redispassword
    volumes:
      - ./.docker/redis/data:/data
    networks:
      - app-network

Step 4
Для применения изменений, требуется перезапуск контейнеров:
docker-compose down
docker-compose up -d 
22-08-2022, 15:24
Вернуться назад