Контейнеры systemd-nspawn: различия между версиями
Дым (обсуждение | вклад) Нет описания правки |
Дым (обсуждение | вклад) Нет описания правки |
||
Строка 8: | Строка 8: | ||
Дабы впоследствии не мучиться со входом в контейнер с отлупом по паролю, следует задать таковой пользователю <strong>root</strong>, для чего первый вход произвести в незапущенный контейнер. | Дабы впоследствии не мучиться со входом в контейнер с отлупом по паролю, следует задать таковой пользователю <strong>root</strong>, для чего первый вход произвести в незапущенный контейнер. | ||
Как контейнеры запускаются, можно подглядеть в пункте ExecStart сервисного шаблона /lib/systemd/system/systemd-nspawn@.service, а именно: | Как контейнеры запускаются, можно подглядеть в пункте <code>ExecStart</code> сервисного шаблона <strong>/lib/systemd/system/systemd-nspawn@.service</strong>, а именно: | ||
# systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth -U --settings=override --machine=%i | # systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth -U --settings=override --machine=%i | ||
В нашем случае, поупрощённей, без загрузки и не нужной на этом этапе опции <code>--keep-unit</code>: | В нашем случае, поупрощённей, без загрузки и не нужной на этом этапе опции <code>--keep-unit</code>: | ||
Строка 15: | Строка 15: | ||
[root@alt-1 ~]# passwd | [root@alt-1 ~]# passwd | ||
passwd: updating all authentication tokens for user root. | passwd: updating all authentication tokens for user root. | ||
... | ... | ||
Enter new password: | Enter new password: | ||
Re-type new password: | Re-type new password: | ||
Строка 25: | Строка 23: | ||
# systemctl enable --now systemd-nspawn@alt-1 | |||
Created symlink /etc/systemd/system/machines.target.wants/systemd-nspawn@alt-1.service → /lib/systemd/system/systemd-nspawn@.service. | |||
[root@comp ~]# systemctl status systemd-nspawn@alt-1 | |||
● systemd-nspawn@alt-1.service - Container alt-1 | |||
Loaded: loaded (/lib/systemd/system/systemd-nspawn@.service; enabled; vendor preset: disabled) | |||
Active: active (running) since Thu 2020-10-01 21:38:31 +08; 8s ago | |||
Docs: man:systemd-nspawn(1) | |||
... | |||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | ||
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} | ||
[[category:systemd]] | [[category:systemd]] |
Версия от 16:41, 1 октября 2020
Подготовка
Первым делом не обойтись без установки пакета означенной в заголовке системы виртуализации:
# apt-get update && apt-get install systemd-container -y
Ещё понадобится образ минимальной системы, годный для виртуальных сред контейнерного типа — LXC или Docker. Взять можно в репозитории; на момент написания статьи привлекательнее прочих выглядел этот.
Настройка
Допустим, первый контейнер будет называться alt-1. Тогда распаковать этот образ надо в каталог /var/lib/machines/alt-1/
, предварительно его создав.
Дабы впоследствии не мучиться со входом в контейнер с отлупом по паролю, следует задать таковой пользователю root, для чего первый вход произвести в незапущенный контейнер.
Как контейнеры запускаются, можно подглядеть в пункте ExecStart
сервисного шаблона /lib/systemd/system/systemd-nspawn@.service, а именно:
# systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth -U --settings=override --machine=%i
В нашем случае, поупрощённей, без загрузки и не нужной на этом этапе опции --keep-unit
:
# systemd-nspawn -q -j -n -U --settings=override -M alt-1
Получив приглашение [root@alt-1 ~]#
, задаём пароль и выходим:
[root@alt-1 ~]# passwd passwd: updating all authentication tokens for user root. ... Enter new password: Re-type new password: passwd: all authentication tokens updated successfully. [root@alt-1 ~]# exit logout
# systemctl enable --now systemd-nspawn@alt-1 Created symlink /etc/systemd/system/machines.target.wants/systemd-nspawn@alt-1.service → /lib/systemd/system/systemd-nspawn@.service. [root@comp ~]# systemctl status systemd-nspawn@alt-1 ● systemd-nspawn@alt-1.service - Container alt-1 Loaded: loaded (/lib/systemd/system/systemd-nspawn@.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-10-01 21:38:31 +08; 8s ago Docs: man:systemd-nspawn(1) ...