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
podmanand 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.
NOTE
This project is still under development.
Installation
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
or
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
or
curl -o ~/.local/bin/podman-compose https://raw.githubusercontent.com/containers/podman-compose/devel/podman_compose.py
chmod +x ~/.local/bin/podman-compose
or install from Fedora (starting from f31) repositories:
sudo dnf install 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.
Tests
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.
Metadata
Release files for podman-compose 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| podman-compose-0.1.8.tar.gz | 20.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| podman_compose-0.1.8-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 48.3 kB
Release files / podman-compose-0.1.8.tar.gz
| Download URL | podman-compose-0.1.8.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e6b6686ba6bab43a3e74f23ac22ddff57b695dc6cfb1d672b9a2fbf51858eef
|
|
BLAKE2b-256 checksum How to use checksums |
cd3a824c403fa6006e97558ad53ade88591f846a3eb2611f26c789dfe95df545
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
|
Release files / podman_compose-0.1.8-py2.py3-none-any.whl
| Download URL | podman_compose-0.1.8-py2.py3-none-any.whl |
|---|---|
| Size | 27.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
127bb2e88878b80bb775642f6a817d7e6b2dfac2c12719e22479da3a64668c56
|
|
BLAKE2b-256 checksum How to use checksums |
17e9fc26c02c9e6c8460c908f0084ab54ed677db1e6987811768a5e987490939
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
|