Ошибки при пересечении IP-адресов между Docker и хост-системой
- Проблема
-
В случае пересечения подсетей Docker (по умолчанию 172.17.0.0/16) и хост-системы возможны:
-
Ошибки развертывания контейнеров или старта сервисов Docker.
-
Ошибки обращения к инфраструктурным сервисам, например, ввод брокера в домен.
-
Другие ошибки.
-
- Решение
-
Для решения конфликта IP-адресов выполните следующие шаги:
-
Удалите систему СТД «Термит» из каталога, куда был распакован дистрибутив, с помощью команды:
sudo ./install uninstall -
Удалите базу данных, использованную для установки СТД «Термит».
При получении сообщения «База данных занята другими пользователями» выполните перезагрузку сервера и повторите команду для удаления.
-
Создайте новую базу данных.
-
Создайте конфигурационный файл для Docker с другой подсетью, не конфликтующей с сетью хоста. Для этого:
-
Создайте конфигурационный файл с помощью команды:
sudo nano /etc/docker/daemon.json -
Очистите содержимое файла и вставьте следующие строки:
{ "default-address-pools": [ {"base":"10.66.0.0/16","size":24} ] } -
Сохраните файл.
-
Перезапустите службу Docker с помощью команды:
sudo service docker restart -
Проверьте IP-адрес интерфейса docker0:
ifconfig docker0
-
-
Заново разверните Termit в новую базу данных, созданную на шаге 3.
-
Проверьте, что все контейнеры получили новый IP-адрес из пула с помощью команды:
docker network inspect termit_default
-