我在 Ubuntu 14.04 64 位虚拟机上使用 LXC (Linux 容器) 1.0.6 尝试在容器中构建 HTTP 服务。我无法启动容器:
$ sudo lxc-start -n test1
lxc-start: failed creating cgroups
lxc-start: failed to spawn 'test1'
lxc-start: The container failed to start.
lxc-start: Additional information can be obtained by setting the --logfile and --logpriority options.
所有依赖项均在创建容器之前安装:
$ sudo apt-get install libcap-dev automake bridge-utils debootstrap
Cgroup状态:
$ cat /proc/self/cgroup
2:name=systemd:/user/1000.user/c1.session
该容器基于 ubuntu 模板,具有:
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:xx:xx:xx
lxc.network.ipv4 = 192.168.100.1/24
lxc.network.ipv4.gateway = 192.168.100.0
lxc.network.veth.pair = vethtest1
桥接使用如下方式:
$ sudo brctl addbr lxcbr0
$ sudo brctl addif lxcbr0 eth0
$ sudo ifconfig lxcbr0 192.168.100.0 netmask 255.255.255.0 up
我以前至少能够在另一台机器上启动具有类似配置的容器,这次是一个新实例,而且我从未遇到过 cgroups 问题。
我错过了什么?
答案1
也许 apparmor 搞错了。将其添加到容器定义中。在我的系统中,它位于/var/lib/lxc/容器名称/config
lxc.aa_allow_incomplete = 1