Не удалось добавить интерфейс в песочницу

Я пытаюсь запустить два контейнера Docker, подключенных к одной сети Docker, с помощью Docker Compose. Я сталкиваюсь со следующей ошибкой при запуске контейнеров:

Error response from daemon: failed to add interface veth5b3bcc5 to sandbox: 
error setting interface "veth5b3bcc5" IP to 172.19.0.2/16: 
cannot program address 172.19.0.2/16 in sandbox 
interface because it conflicts with existing 
route {Ifindex: 10 Dst: 172.19.0.0/16 Src: 172.19.0.1 Gw: <nil> Flags: [] Table: 254}

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

version: '3'

volumes:
  dsn-redis-data:
    driver: local

  dsn-redis-conf:
    driver: local

networks:
  dsn-net:
    driver: bridge

services:
  duty-students-notifier:
    image: duty-students-notifier:latest
    network_mode: host
    container_name: duty-students-notifier
    build:
      context: ../
      dockerfile: ./docker/Dockerfile
    env_file: ../.env
    volumes:
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    networks:
      - dsn-net
    restart: always

  dsn-redis:
    image: redis:latest
    expose:
      - 5432
    volumes:
      - dsn-redis-data:/var/lib/redis
      - dsn-redis-conf:/usr/local/etc/redis/redis.conf
    networks:
      - dsn-net
    restart: always

Спасибо!

Есть ли в вашей сетевой среде хоста другой интерфейс с сетью 172.19.0.0/16? У вас несколько странное сочетание сетевых настроек — конфликтуют networks: [...] и network_mode: host — помогает ли удаление из файла абсолютно всех сетевых настроек?

David Maze 17.11.2022 21:25

О, теперь я вижу. Забыл убрать network_mode: host из конфига. Теперь все работает отлично. Спасибо, что указали на меня. Вы можете опубликовать ответ, если хотите. Я приму это.

d1snin 17.11.2022 22:04
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
2
325
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Параметр network_mode: host обычно отключает сеть Docker и может мешать другим параметрам. В вашем случае похоже, что он пытается применить конфигурацию networks: к сетевому слою хост-системы.

network_mode: host почти никогда не требуется, и его удаление может решить эту проблему.

Другие вопросы по теме