По умолчанию Docker использует подсети 172.17.0.0 и 172.18.0.0 для организации взаимодействия между контейнерами. Если эти подсети совпали с подсетью, в которой разворачивается платформа, то нужно поменять подсеть Docker.
Узнать подсети адаптеров можно с помощью команды ifconfig
Если все интерфейсы не поместились в окно вывода используйте команду ifconfog | more
Смена подсети у интерфейса docker_gwbridge
Используйте шаги ниже, если все компоненты платформы установлены на одну машину.
Удалить все контейнеры
docker stack rm visiology
Выйти из swarm на всех нодах
docker swarm leave -f
Удалить сеть docker_gwbridge
docker network rm docker_gwbridge
Создать новую сеть, с необходимыми подсетью и шлюзом. Как пример:
docker network create \ --subnet 172.20.0.0/20 \ --gateway 172.20.0.1 \ -o com.docker.network.bridge.enable_icc=false \ -o com.docker.network.bridge.name=docker_gwbridge \ docker_gwbridge
- Если платформа установлена на несколько серверов, то выполнить Установка компонентов на разные серверы пункт 7.
- Выполнить Запуск платформы
Подробнее про смену подсети можно посмотреть здесь https://success.docker.com/article/how-do-i-change-the-docker-gwbridge-address
Смена подсети у интерфейса docker0
- Изменить файл от суперпользователя (создать, если его нет)
/etc/docker/daemon.json
Прописать все необходимые параметры:
{ "bip": "192.168.1.5/24", "fixed-cidr": "192.168.1.5/25", "fixed-cidr-v6": "2001:db8::/64", "mtu": 1500, "default-gateway": "10.20.1.1", "default-gateway-v6": "2001:db8:abcd::89", "dns": ["10.20.1.2","10.20.1.3"] }
В минимальном случае должно хватить только параметра "bip"
Перезапустить сервис docker
sudo service docker restart
Подробнее про смену подсети можно посмотреть здесь https://docs.docker.com/v17.09/engine/userguide/networking/default_network/custom-docker0