it-swarm-es.tech

¿Dónde está el archivo de configuración de un contenedor lxc?

Instalé lxd para usar contenedores de Linux. Por alguna razón, sigo usando los comandos lxc para instalar e iniciar mis contenedores. Dado que lxd parece estar cerca de lxc tal vez haya una razón para eso (pero no está claro).

Quería vincular dos contenedores lxc a dos puentes diferentes, diferentes del predeterminado _lxcbr0_ uno. Creé _br1_ y _br2_ y les di direcciones IP. Funcionan bien y son pingable.

Ahora estoy tratando de ubicar el lugar donde debo cambiar la configuración de mis contenedores (_cont1_ y _cont2_) para tener su _eth0_ (el nombre de la interfaz puede mantenerse igual para cada uno de esos invitados) vinculado respectivamente a _br1_ y _br2_.

El documentación indica que

Luego, especifique el puente del Host en el archivo de configuración del contenedor en lugar de lxcbr0, por ejemplo

¿Dónde está este archivo de configuración?

En la parte superior de esta página de documentación, hay información sobre con archivos de figuración :

Los siguientes archivos de configuración son consultados por LXC. Para uso privilegiado, se encuentran en/etc/lxc, mientras que para uso no privilegiado están en ~/.config/lxc.

lxc.conf puede especificar opcionalmente valores alternativos para varias configuraciones de lxc, incluyendo lxcpath, la configuración predeterminada, cgroups para usar, un patrón de creación de cgroup y configuraciones de backend de almacenamiento para lvm y zfs.

default.conf especifica la configuración que debe contener cada contenedor recién creado. Esto generalmente contiene al menos una sección de red y, para usuarios sin privilegios, una sección de mapeo de id.

lxc-usernet.conf especifica cómo los usuarios sin privilegios pueden conectar sus contenedores a la red propiedad del Host.

lxc.conf y default.conf están bajo/etc/lxc y $ HOME/.config/lxc, mientras que lxc-usernet.conf es solo para todo el host.

De manera predeterminada, los contenedores se encuentran en/var/lib/lxc para el usuario raíz, y $ HOME/.local/share/lxc en caso contrario. La ubicación se puede especificar para todos los comandos lxc utilizando el argumento "-P | --lxcpath".

Si lo leí correctamente, no indica dónde está el archivo de configuración del contenedor .

La configuración que me gustaría agregar para _cont1_ es

_lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br1
lxc.network.name = eth0
lxc.network.ipv4 = 10.10.11.0/24
lxc.network.ipv4.gateway = 10.10.11.11
_

e intenté ponerlo en los archivos _/etc/lxc/cont1/config_ y _/var/lib/lxc/cont1/config_ pero ninguno fue tenido en cuenta: el contenedor no se inicia, no se puede abrir la red. Funciona bien con la configuración predeterminada usando _lxcbr0_.

1
WoJ

Coloque el archivo de configuración para el contenedor LXC en cualquier lugar y luego especifique este archivo al crear un contenedor con la opción -f:

lxc-create {-n name} [-f config_file] {-t template} [-B backingstore] [-- template-options]  

por ejemplo:

Sudo lxc-create -t download -f /any/path/u1.container.conf -n u1 -- -d ubuntu -r xenial -a AMD64
1
Max Ivak