Então, depois de um pouco mais de pesquisa, determinei por que isso está acontecendo. Estou usando os modelos padrão do Ubuntu e do Debian para criar os contêineres e sua rede está configurada para usar o DHCP para solicitar um IP do roteador. Portanto, inicialmente, o IP estático é definido usando o lxc.container.config e, quando o contêiner inicia, ele consulta o roteador (ou qualquer servidor DHCP que você tenha) para um IP secundário que é atribuído a ele.
A maneira mais lógica de parar isso provavelmente atribuirá apenas o ip estático dentro do contêiner. Então, em modelos baseados em Debian, edite /etc/network/interfaces
:
auto etho0
iface etho0 inet static
address 192.168.0.15
netmask 255.255.255.0
gateway 192.168.0.1
E, em seguida, remova a linha ipv4 da configuração lxc /var/lib/lxc/testcontainer/config
:
lxc.network.type = veth
lxc.network.link = br0
Outro método é deixar o host configurar o ip mantendo a linha ipv4 em /var/lib/lxc/testcontainer/config
e informar explicitamente ao contêiner para não tocar na interface definindo-a como manual:
auto eth0
iface eth0 inet manual
Aparentemente, há alguns problemas com este segundo método se o host for suspenso e depois retomado. Provavelmente, é melhor usar o primeiro método.