Как изменить сеть, используемую Docker?
По умолчанию система виртуализации Docker использует для своей работы сети 172.17.0.0/12. Если ваше оборудование использует адреса из этих сетей, вы можете изменить настройки Docker. Это предотвратит возможные сетевые конфликты.
Обратите внимание!
Выполнение действий из этой статьи требует остановки платформы и перезагрузки сервера c DCImanager 6.
Просмотр информации об используемых сетях
Чтобы узнать какие сети использует Docker:
Запросите список сетей:
docker network list
CODEПример ответа
NETWORK ID NAME DRIVER SCOPE 14a38927e118 bridge bridge local b91a38ed491b dci_auth bridge local 7bdf76184b18 docker_ipmi_proxy_v2_bridge bridge local 2d9237551d88 etc_default bridge local f67c6099ef24 host host local cbb6fb4096c5 none null local
CODEВ ответе команды в столбце NAME будут отображены имена используемых сетей.
Запросите информацию об используемом адресном пространстве:
Пример команд с ответами
[root@dci ~]# docker network inspect etc_default | grep Subnet "Subnet": "172.19.0.0/16", [root@dci ~]# docker network inspect docker_ipmi_proxy_v2_bridge | grep Subnet "Subnet": "172.26.0.0/16", [root@dci ~]# docker network inspect bridge | grep Subnet "Subnet": "172.17.0.0/16", [root@dci ~]# docker network inspect dci_auth | grep Subnet "Subnet": "172.25.0.0/16",
CODE
Смена сети для Docker
Чтобы изменить настройки сетей, используемые Docker:
Отредактируйте или создайте файл /etc/docker/daemon.json:
Пример файла
{ "live-restore": true, "bip": "10.10.0.1/16", "default-address-pools": [{ "base": "10.0.0.0/8", "size": 16 }] }
CODEПояснения к формату файлаlive-restore — параметр помогает сократить время простоя контейнеров при выключении или перезагрузке системы.
bip — IP-адрес bridge-интерфейса Docker в формате "адрес/префикс сети". Например, чтобы использовать IP-адрес 10.10.0.1 в сети 10.10.0.0/16 укажите "10.10.0.1/16".
base — диапазон IP-адресов для создания сетей Docker в формате "сеть/префикс сети". Например, "10.0.0.0/8".
size — префикс создаваемых сетей.
Удалите запущенные докер-контейнеры:
docker rm -f `docker ps -q -a`
CODEУдалите все неиспользуемые объекты Docker:
docker system prune
CODEdocker network prune
CODEПерезапустите службу Docker:
systemctl restart docker
CODEЗапустите DCImanager 6:
dci start
CODEЗапустите докер-контейнеры модуля проксирования BMC:
docker-compose -f /opt/ispsystem/ipmi_proxy_service/etc/docker/ipmi_proxy_v2.yml up -d
CODEЗапустите докер-контейнеры для работы с локациями:
docker-compose -f /opt/ispsystem/dci/etc/location.yaml up -d
CODEПерезагрузите сервер с DCImanager 6:
reboot
CODEПроверьте настройки сетей:
Примеры команд с ответами
[root@dci6 ~]# docker network inspect bridge | grep Subnet "Subnet": "10.10.0.0/16", [root@dci6 ~]# docker network inspect dci_auth | grep Subnet "Subnet": "10.0.0.0/16", [root@dci6 ~]# docker network inspect docker_ipmi_proxy_v2_bridge | grep Subnet "Subnet": "10.1.0.0/16", [root@dci6 ~]# docker network inspect etc_default | grep Subnet "Subnet": "10.2.0.0/16",
CODE