Назад | Перейти на главную страницу

Как запустить контейнер Fedora на хосте Ubuntu?

Я использую 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? Любые советы / опыт по поводу контейнера Fedora на хосте Ubuntu / Debian приветствуются.

Фирстеваль, вы создали fedora контейнер дважды: вашей первой команды достаточно, чтобы загрузить и создать контейнер Fedora из образы контейнеров linux.

Во-вторых, я держу пари, что apparmor испортил контрольные точки вашего контейнера. Вы должны увидеть, как apparmor отрицает это в /var/log/kern.log. Добавление lxc.aa_profile = unconfined в конфигурацию вашего контейнера в /var/lib/lxc/fedora/config это "быстро и грязно" способ заставить его начать.

Тогда у вас будет IPv4-адрес, присвоенный демоном dhcp.

После этого вы можете немного покопаться в профилях lxc apparmor и настроить что-то подходящее, чтобы ваши контейнеры не запускались без защиты на хосте.