lxc 容器的配置文件在哪里?

lxc 容器的配置文件在哪里?

我安装了lxd使用 Linux 容器。出于某种原因,我一直使用lxc命令来安装和启动容器。由于lxd似乎接近,lxc也许有原因(但不清楚)。

我想将两个lxc容器绑定到两个不同的网桥,不同于默认lxcbr0网桥。我创建了它们br1br2赋予了它们 IP 地址。它们工作正常,可以 ping 通。

我现在正试图找到应该更改容器(cont1cont2)配置的地方,以便将它们eth0(每个客户的接口名称可以保持相同)分别绑定到br1br2

文档指出

然后,在容器配置文件中指定主机的网桥来代替 lxcbr0,例如

这个配置文件在哪里?

在此文档页面的顶部,有关于 con图形文件

LXC 会参考以下配置文件。对于特权使用,它们位于 /etc/lxc 下,而对于非特权使用,它们位于 ~/.config/lxc 下。

lxc.conf 可以选择为几个 lxc 设置指定备用值,包括 lxcpath、默认配置、要使用的 cgroup、cgroup 创建模式以及 lvm 和 zfs 的存储后端设置。

default.conf 指定每个新创建的容器应包含的配置。这通常至少包含一个网络部分,对于非特权用户,还包含一个 ID 映射部分

lxc-usernet.conf 指定非特权用户如何将其容器连接到主机拥有的网络。

lxc.conf 和 default.conf 都位于 /etc/lxc 和 $HOME/.config/lxc 下,而 lxc-usernet.conf 仅限于主机范围。

默认情况下,对于 root 用户,容器位于 /var/lib/lxc 下,否则位于 $HOME/.local/share/lxc 下。可以使用“-P|--lxcpath”参数为所有 lxc 命令指定位置。

如果我没看错的话,它并没有表明容器配置文件是。

我想添加的配置cont1

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

我尝试将其放入文件中/etc/lxc/cont1/config/var/lib/lxc/cont1/config但均未得到考虑:容器未启动,无法启动网络。使用默认配置即可正常运行lxcbr0

答案1

有点晚了,但万一其他人 - 就像我一样 - 正在寻找这个“显而易见”的问题的答案:

特权容器的配置文件似乎位于/var/lib/lxc/${containerName}/config

答案2

将 LXC 容器的配置文件放在任意位置,然后在使用 -f 选项创建容器时指定此文件:

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

例如:

sudo lxc-create -t download -f /any/path/u1.container.conf -n u1 -- -d ubuntu -r xenial -a amd64

相关内容