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 underdevelopment.
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
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
Hashes for podman_compose-0.1.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c8dcd25d3202381c8f0ddcdf02b2bc8a67560027d9b13cebcbb12f86a71a24b |
|
MD5 | 2f43157bcd1dcf88b395c8e9f9acbcd2 |
|
BLAKE2b-256 | fcd95944a09f751cf7543480e89d7de64704f58ce6e5c25cdcbd785acefcf2ac |