Я использую 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 и настроить что-то подходящее, чтобы ваши контейнеры не запускались без защиты на хосте.