02.11.2019       Выпуск 306 (28.10.2019 - 03.11.2019)       Интересные проекты, инструменты, библиотеки

podman-compose - запускаем docker-compose.yml через podman с помощью Python


Экспериментальная функция:

Ниже вы видите текст статьи по ссылке. По нему можно быстро понять ссылка достойна прочтения или нет

Просим обратить внимание, что текст по ссылке и здесь может не совпадать.

Podman Compose

An implementation of docker-compose with podman backend. The main objective of this project is to be able to run docker-compose.yml unmodified and rootless. This project is aimed to provide drop-in replacement for docker-compose, and it's very useful for certain cases because:

  • can run rootless
  • only depend on podman and Python3 and PyYAML
  • no daemon, no setup.
  • can be used by developers to run single-machine containerized stacks using single familiar YAML file

For production-like single-machine containerized environment consider

For the real thing (multi-node clusters) check any production OpenShift/Kubernetes distribution like OKD.


This project is still underdevelopment.


Install latest stable version from PyPI:

pip3 install podman-compose

pass --user to install inside regular user home without being root.

Or latest development version from GitHub:

pip3 install https://github.com/containers/podman-compose/archive/devel.tar.gz


curl -o /usr/local/bin/podman-compose https://raw.githubusercontent.com/containers/podman-compose/devel/podman_compose.py
chmod +x /usr/local/bin/podman-compose


curl -o ~/.local/bin/podman-compose https://raw.githubusercontent.com/containers/podman-compose/devel/podman_compose.py
chmod +x ~/.local/bin/podman-compose

Basic Usage

We have included fully functional sample stacks inside examples/ directory.

A quick example would be

cd examples/busybox
podman-compose --help
podman-compose up --help
podman-compose up

A more rich example can be found in examples/awx3 which have

  • A Postgres Database
  • RabbitMQ server
  • MemCached server
  • a django web server
  • a django tasks

When testing the AWX3 example, if you got errors just wait for db migrations to end.


Inside tests/ directory we have many useless docker-compose stacks that are meant to test as much cases as we can to make sure we are compatible

How it works

The default mapping 1podfw creates a single pod and attach all containers to its network namespace so that all containers talk via localhost. For more information see docs/Mappings.md.

If you are running as root, you might use identity mapping.

Разместим вашу рекламу

Пиши: mail@pythondigest.ru

Нашли опечатку?

Выделите фрагмент и отправьте нажатием Ctrl+Enter.

Система Orphus