J'ai installé lxd
pour utiliser les conteneurs Linux. Pour une raison quelconque, je continue à utiliser les commandes lxc
pour installer et démarrer mes conteneurs. Puisque lxd
semble être proche de lxc
, il y a peut-être une raison à cela (mais ce n'est pas clair).
Je voulais lier deux conteneurs lxc
à deux ponts différents, différent de celui par défaut lxcbr0
. J'ai créé br1
et br2
et je leur ai donné des adresses IP. Ils fonctionnent bien et sont pingable.
J'essaie maintenant de localiser l'endroit où je devrais changer la configuration de mes conteneurs (cont1
et cont2
) afin d'avoir leur eth0
(le nom d'interface peut être conservé de la même manière). chacun de ces invités) liés respectivement à br1
et br2
.
Le documentation indique que
Ensuite, spécifiez le pont de l'hôte dans le fichier de configuration du conteneur à la place de lxcbr0, par exemple
Où se trouve ce fichier de configuration?
En haut de cette page de documentation, vous trouverez des informations sur con fichiers de figuration :
Les fichiers de configuration suivants sont consultés par LXC. Pour une utilisation privilégiée, ils se trouvent sous/etc/lxc, tandis que pour une utilisation non privilégiée, ils se trouvent sous ~/.config/lxc.
lxc.conf peut éventuellement spécifier des valeurs de remplacement pour plusieurs paramètres lxc, notamment lxcpath, la configuration par défaut, les groupes de contrôle à utiliser, un modèle de création de groupes de contrôle et les paramètres de stockage pour lvm et zfs.
default.conf spécifie la configuration que chaque conteneur nouvellement créé doit contenir. Celle-ci contient généralement au moins une section réseau et, pour les utilisateurs non privilégiés, une section de mappage d'identifiant.
lxc-usernet.conf indique comment les utilisateurs non privilégiés peuvent connecter leurs conteneurs au réseau appartenant à l'hôte.
lxc.conf et default.conf sont tous les deux sous/etc/lxc et $ HOME/.config/lxc, alors que lxc-usernet.conf concerne uniquement l'hôte.
Par défaut, les conteneurs sont situés dans/var/lib/lxc pour l'utilisateur root et dans $ HOME/.local/share/lxc sinon. L'emplacement peut être spécifié pour toutes les commandes lxc en utilisant l'argument "-P | --lxcpath".
Si je le lis correctement, il n’indique pas où se trouve le fichier de configuration du conteneur .
La configuration que je voudrais ajouter pour cont1
est
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
et j'ai essayé de le mettre dans les fichiers /etc/lxc/cont1/config
et /var/lib/lxc/cont1/config
mais aucun n'a été pris en compte: le conteneur ne démarre pas, ne permettant pas la mise en réseau. Cela fonctionne bien avec la configuration par défaut en utilisant lxcbr0
.
Placez le fichier de configuration du conteneur LXC à n’importe quel emplacement, puis spécifiez ce fichier lors de la création d’un conteneur avec l’option -f:
lxc-create {-n name} [-f config_file] {-t template} [-B backingstore] [-- template-options]
par exemple:
Sudo lxc-create -t download -f /any/path/u1.container.conf -n u1 -- -d ubuntu -r xenial -a AMD64