Я использую LXD со стандартной конфигурацией, которая присваивает ipv4 частные адреса контейнерам через DHCP/dnsmasq. Когда я перезагружаю хост, некоторые контейнеры (не все) изменяют IP-адрес. Я думаю, что это - контейнеры, которые были созданы из того же контейнера (с помощью копии или через шаблон, который был опубликован от другого контейнера). Они могут повернуть IP-адреса между ними. Я проверил, что виртуальные MAC-адреса контейнеров остаются тем же после перезагрузки хоста и что каждый контейнер имеет различный MAC adddress. Почему затем не делает dnsmasq, сохраняют тот же IP-адрес и то же время владения? Все времена арендного договора изменяются в/var/lib/lxd-bridge/dnsmasq.lxdbr0.leases после перезагрузки. Почему это происходит? Действительно ли это - ошибка?
Как я могу удостовериться, что этого не происходит? Я могу присвоить статические IP-адреса, но это потребовало бы дополнительного шага конфигурации в нескольких ситуациях, например, каждый раз, когда контейнер копируется/перемещается в другой сервер (который я иногда делаю). Это также потребовало бы, чтобы дополнительная гостевая перезагрузка удостоверилась, что конфигурация корректна.
Я не коснулся бы контейнерной конфигурации, как Вы сказали, Вы хотите смочь переместить их.
Как насчет Вас используют dnsmasq для присвоения статических IP-адресов по DHCP. Вы не должны касаться контейнерных конфигураций и всегда иметь те же адреса в каждом контейнере.
Место, что со значениями Вам нужно в Вашем dnsmasq.conf для каждого контейнера
dhcp-host=MAC_ADDRESS,CONTAINER_NAME,IP_ADDRESS,LEASE_TIME
MAC_ADDRESS или CONTAINER_NAME, является дополнительным здесь. Это только идентифицирует клиент и присваивает IP_ADDRESS тому клиенту.