我正在使用 Ubuntu 14.10,并尝试运行 Fedora 容器。我通过给定的模板创建的容器无法正常工作。我猜原因是systemd
设置不正确。
lxc
首先,我在主机上安装。然后我使用以下命令创建一个 Fedora 容器
# lxc-create -t fedora -n fedora
然后启动容器
# lxc-start -n fedora
与其他容器不同,Fedora 容器不会自动获取 IP 地址
# lxc-ls -f
NAME STATE IPV4 IPV6 GROUPS AUTOSTART
-----------------------------------------------------
centos RUNNING 10.0.3.213 - - NO
dropbox RUNNING 10.0.3.222 - - NO
fedora RUNNING - - - NO
我使用lxc-attach
进入 Fedora 容器,发现唯一运行的进程是。如果执行 ,init
它可以获取 IP 。dhclient
[root@fedora ~]# ps x
PID TTY STAT TIME COMMAND
1 ? Ss 0:00 /sbin/init
12 ? S 0:00 /bin/bash
90 ? R+ 0:00 ps x
dhclient
和其他必要的服务不应该openssh-server
由自动启动吗systemd
?欢迎任何有关 Ubuntu/Debian 主机上的 Fedora 容器的建议/经验。
答案1
Firsteval,你创建了fedora
两次容器:你的第一个命令足以从下载并创建一个 Fedora 容器Linux 容器镜像。
其次,我敢打赌,apparmor 会弄乱你的容器的 cgroups 挂载点。你应该看到 apparmor 在 中拒绝了这一点/var/log/kern.log
。在中将lxc.aa_profile = unconfined
容器配置添加到/var/lib/lxc/fedora/config
“快速而肮脏”使其启动的方法。
然后您将拥有一个由 dhcp 守护进程分配的 IPv4 地址。
此后,您可以进一步深入了解 apparmor 的 lxc 配置文件,并设置一些相关内容,以避免您的容器在主机上不受保护地运行。