Я создаю docker контейнеров с приложением node.js (зависит от dockerode API от apocas) с несколькими docker сетями, подключенными к каждому контейнеру. По умолчанию каждый контейнер получает случайный IP-адрес для каждого сетевого интерфейса.
Пример: dev-контейнер с IP: 172.18.0.2 и подключен к сети demo- net на интерфейсе eth4
Когда я делаю docker inspect dev-container
, я вижу эту сеть demo- net подключен к контейнеру dev-container с ip-адресом 172.18.0.2 (как и ожидалось).
Теперь я выполняю dev-container с помощью docker exec -it dev-container /bin/bash
и настройте IP-адрес с помощью ifconfig eth4 192.168.99.169 netmask 255.255.240.0
.
Результат: ifconfig
показывает, что новый адрес 192.168.99.169 подключен к интерфейсу eth4. Но когда я снова делаю docker inspect dev-container
, все еще остается старый адрес 172.18.0.2 , подключенный к сети demo- net (не ожидается).
Есть ли способ, которым docker может обновить настройки внутренней сети, чтобы docker inspect отображал обновленные настройки IP, или есть лучший способ изменить IP-адрес контейнера?
(Docker версия это 19.03.12)