Ошибка Docker при создании внешней сети подключения

я пытаюсь развернуть стек portainer / agent с рекомендуемой конфигурацией компоновки докеров, как это предлагается в официальной документации ( https : //portainer.readthedocs.io/en/stable/agent.html ), и он развертывается и работает правильно на всех узлах, кроме 1.

на узле, который выходит из строя, я проверяю ошибку, и он говорит:

starting container failed: error creating external connectivity network: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

это странно, потому что это последняя установка raspbian. и я только что установил докер, используя скрипт с официального сайта raspberry pi ( https: //www.raspberrypi. org / blog / docker-come-to-raspberry-pi / ). именно так docker был настроен и на других raspberry pi (другие raspberry pi работают нормально).

файл компоновки docker:

version: '3.2'

services:
  agent:
    image: portainer/agent
    environment:
      AGENT_CLUSTER_ADDR: tasks.agent
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - target: 9001
        published: 9001
        protocol: tcp
        mode: host
    networks:
      - portainer_agent
    deploy:
      mode: global

networks:
  portainer_agent:
    driver: overlay
0
задан 26 June 2018 в 02:04
2 ответа

Я думаю, что это проблема Docker. В прошлый раз, когда я столкнулся с этой ошибкой, мне пришлось перезагрузить хост Docker, чтобы исправить это и быть возможность создать контейнер.

Я использовал старую версию Docker, которая с тех пор могла быть исправлена.

0
ответ дан 24 November 2019 в 02:26

Это произойдет, если вы использовали все доступные сети в вашем пуле пространств подсетей. Для оверлейных сетей вы можете ограничить доступные пулы адресов с помощью опции --default-addr-poolна docker swarm init, которую вы увидите в разделе Swarm docker info. Как только docker выделит все подсети из этого пула, вам нужно будет удалить сети, чтобы освободить место в пуле (или создать свой рой с большим пулом, я не знаю, как изменить этот параметр после создание роя).

Обратите внимание, что если подсеть является маршрутизируемой, Docker будет рассматривать ее как выделенную сеть, поэтому остерегайтесь таких вещей, как VPN, которые создают большой маршрут, включающий все частные сети.

0
ответ дан 24 September 2021 в 13:37

Теги

Похожие вопросы