A script to run docker-compose.yml using podman
Project description
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.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file podman-compose-0.1.9.tar.gz
.
File metadata
- Download URL: podman-compose-0.1.9.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14c62efc92c9048eb377c7b692f555c7b988479829e02c16ff3904dcc095c640 |
|
MD5 | dc14696cf3ebeec304698372c4675edc |
|
BLAKE2b-256 | 4ce55e61b0bae5337527e789d0f0fe0584673601bc6c779158a99e3f110c6853 |
File details
Details for the file podman_compose-0.1.9-py2.py3-none-any.whl
.
File metadata
- Download URL: podman_compose-0.1.9-py2.py3-none-any.whl
- Upload date:
- Size: 27.5 kB
- Tags: Python 2, Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 241beb3f4a3fc46de19f674f16a420e42b083132bfc9a00fa0c441237aa272fb |
|
MD5 | 670f5bc9f1ab7146fffa099496d2ebb0 |
|
BLAKE2b-256 | 70f984935bcee52fc2c1d182dbf01e7e813fb767ac43c35fef018c37e709d5ef |