Podman: Метод преобразования файлов docker-compose в файлы юнитов systemd

Я перехожу от docker к podman (не переходя сразу к kubernetes, так как это определенно было бы излишеством на данном этапе).

Сейчас многие элегантные конфигурации могут быть выполнены в виде docker-compose setup - но docker-compose полагается на демон docker для запуска (и поддержания работы) взаимозависимых контейнеров.

В podman это можно сделать, имея systemd unit files, которые зависят друг от друга, и позволяя systemd выполнять мониторинг и запуск (и выключение).

Сейчас ручное преобразование настроек docker-compose в юнит-файлы сопряжено с ошибками и немного утомительно.

Есть ли известный источник разумного совместимого с docker-compose ридера, который я могу настроить для генерации юнит-файлов systemd?

.
2
задан 21 August 2019 в 19:03
1 ответ

Podman 3.0 (выпущенный в феврале 2021 г.) представил поддержку стандарта docker-compose. Podman теперь достаточно хорошо поддерживает Docker REST API, чтобы удовлетворить потребности docker-compose.

Хотя я не проверял его, я надеюсь, что следующий метод может быть способом конвертировать docker-compose YAML в служебные файлы systemd:

  1. Start docker-compose
export DOCKER_HOST=unix:///some/path/podman.sock
docker-compose up -d

(я написал еще Stackoverflow answer с более подробной информацией)

  1. Попробуйте определить имена контейнеров Podman, запущенных docker-compose:
podman container list
  1. Сгенерируйте служебные файлы systemd из этих контейнеров
podman generate systemd --new --files --name containername

(см. справочную страницу)

В статье От Docker Compose к Kubernetes с Podman обсуждается связанная тема: Как конвертировать Docker Compose YAML на Kubernetes YAML.

1
ответ дан 14 April 2021 в 18:37

Теги

Похожие вопросы