запустить контейнер systemd-nspawn/systemd при загрузке

Я работаю с systemd-nspawn и у меня есть несколько контейнеров, которые я хотел бы автоматически запустить при запуске системы.

Я использую Арч Линукс и по archwiki запись, следующий код должен делать трюк

# systemctl enable systemd-nspawn@MyContainer.service
# systemctl start systemd-nspawn@MyContainer.service

принимая контейнер MyContainer находится в /var / lib / machines и был создан примерно так:

# pacstrap -i -c -d /var/lib/machines/MyContainer base

Я могу начать контейнер с:

# sudo systemd-nspawn -b -D /var/lib/machines/MyContainer

и

# systemctl start systemd-nspawn@MyContainer.service

а также

# machinectl start MyContainer

но я просто не могу получить контейнер для запуска при загрузке и работает sudo systemctl status systemd-nspawn@MyContainer.service сразу после загрузки не показывает никаких ошибок. Кто-нибудь знает, что мне нужно делать? Возможно, должна быть запущена другая служба?

28
задан flooose
29.01.2023 1:59 Количество просмотров материала 3094
Распечатать страницу

1 ответ

проведя еще немного исследований, я обнаружил проблему. Дело не в том, что другой сервис должен быть запущен, а в другом target, в частности machines.target, и

systemctl enable machines.target

в дополнение к командам выше сделал это так, что MyContainer запускается при загрузке.

в качестве примечания, это не было сразу ясно, потому что, когда я называю

systemctl list-units --all --type=target

на обоих моих компьютерах (оба работают под управлением arch linux),machines.target не входит в список. Не знаю, почему, но это было исправить.

1
отвечен flooose 2023-01-30 09:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх