如何在 Ubuntu 主机上运行 Fedora 容器?

如何在 Ubuntu 主机上运行 Fedora 容器?

我正在使用 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 配置文件,并设置一些相关内容,以避免您的容器在主机上不受保护地运行。

相关内容