Создание юнит-файла systemd с использованием Quadlet#
Quadlet — инструмент для запуска контейнеров podman в формате юнит-файлов systemd.
В настоящее время создание юнит-файлов Quadlet доступно для пользователя с административными полномочиями в следующих каталогах: /usr/share/containers/systemd/ или /etc/containers/systemd/.
Для создания юнит-файла systemd с использованием Quadlet выполните следующий сценарий:
Создайте юнит-файл
mysleep.container:cat /etc/containers/systemd/Со следующим содержимым:
[Unit] Description=The sleep container After=local-fs.target [Container] Image=localhost/container-name:latest Exec=sleep 1000 [Install] # Запуск по умолчанию при загрузке WantedBy=multi-user.target default.targetОбратите внимание на поля в разделе [Container]:
Image- путь к контейнеру, который будет запускаться в формате юнит-файла;Exec- команда, которая будет выполняться внутри контейнера.
Создайте
mysleep.serviceна основеmysleep.container:systemctl daemon-reloadОпционально. Проверьте статус
mysleep.service:systemctl status mysleep.service ○ mysleep.service - The sleep container Loaded: loaded (/etc/containers/systemd/mysleep.container; generated) Active: inactive (dead)Запустите
mysleep.service:systemctl start mysleep.serviceПроверьте статус
mysleep.service:systemctl status mysleep.service ● mysleep.service - The sleep container Loaded: loaded (/etc/containers/systemd/mysleep.container; generated) Active: active (running) since Thu 2023-01-01 11:00:00 EST; 2s ago Main PID: 265651 (conmon) Tasks: 3 (limit: 76815) Memory: 1.6M CPU: 94ms CGroup: ...Проверьте, что контейнер запущен, с помощью команды:
podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 421c8293fc1b localhost/container-name:latest sleep 1000 30 seconds ago Up 10 seconds ago systemd-mysleep