Docker: не удалось найти доступный непересекающийся пул адресов IPv4 среди значений по умолчанию для назначения сети.

Когда я пытался развернуть свое приложение с помощью docker-compose, я получил следующую ошибку:

Creating network "<myapplicationnamehere_mycustomnetwork>" with the 
default driver
could not find an available, non-overlapping IPv4 address pool among 
the defaults to assign to the network

Теперь я немного исследовал здесь и там, и люди предложили обрезать неиспользуемые старые сети докеров с помощью docker network prune. Но поскольку я запускаю 34 контейнера докеров (я думаю, около 30 сетей), он удаляет только одну или две старые сети, прежде чем ошибка возникает снова.

Мой вопрос: как мне убедиться, что я могу запускать множество служб, не сталкиваясь с проблемами распределения сети докеров. (Может быть, как-то создать меньшие подсети?)

Мой главный сетевой раздел файла docker-compose выглядит следующим образом:

#
# Networks section
# Networks:
# - public, represents the network between nginx and the public nginx-proxy (which should be already running)
# - uwsgi, represents the network between nginx and uwsgi
# - postgres, represents the network between uwsgi and postgres
#
networks:
  uwsgi:
  postgres:
  public:
    external:
      name: nginx-proxy

person Community    schedule 08.03.2018    source источник
comment
Спасибо, что упомянули docker network prune в вопросе, это было именно то, что мне было нужно в моем случае.   -  person 8bitjunkie    schedule 21.02.2020


Ответы (1)


Вы можете указать настраиваемые диапазоны адресов с помощью свойства default-address-pool, начиная с версии Docker 18.06. См. также связанный запрос на вытягивание.

person Community    schedule 14.09.2018