OK, encontrei outra maneira de fazer isso:
- Pare todos os contêineres
- Edite / etc / default / lxc-net
- descomente "LXC_DHCP_CONFILE = / etc / lxc / dnsmasq.conf"
- crie o arquivo /etc/lxc/dnsmasq.conf
-
edite o dnsmasq.conf:
dhcp-host = container_name, 10.0.2.10
-
serviço reiniciar o lxc-net
Agora reinicie os contêineres e aproveite a glória de seus próprios IPs.
- EDITAR
Falou cedo demais - isso só funciona pela metade.
Existem 4 containers, e no dnsmasq.conf eu tenho:
dhcp-host=host01,10.0.2.10
dhcp-host=host02,10.0.2.20
dhcp-host=host03,10.0.2.30
dhcp-host=host04,10.0.2.40
Agora, quando eu reinicio o evertying, incluindo os containers, recebo isso:
# lxc-ls --fancy
NAME STATE IPV4 IPV6 AUTOSTART
-----------------------------------------------
host01 RUNNING 10.0.2.99 - YES
host02 RUNNING 10.0.2.20 - YES
host03 RUNNING 10.0.2.198 - YES
host04 RUNNING 10.0.2.40 - YES
A metade deles está certa. Todos os containers que criamos da mesma forma e que não foram editados de forma alguma.
Alguém tem alguma ideia do que está acontecendo?
Este é o conteúdo das interfaces / etc / network / em um dos contêineres ofensivos:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Nada diferente dos que trabalham.
- EDIT 2 ---
parando todos os contêineres e executando isso:
$ sudo restart lxc-net
Corrigido o problema!