a script to run docker-compose.yml using podman
Go to file
2019-08-21 22:45:53 +02:00
examples switch example to awx3 2019-06-17 15:58:41 +03:00
scripts Python packaging 2019-08-21 22:45:53 +02:00
test make volumes work 2019-06-11 17:03:24 +03:00
.gitignore Python packaging 2019-08-21 22:45:53 +02:00
.pylintrc apply formating and add pylintrc 2019-03-23 21:42:04 +02:00
CONTRIBUTING.md helps to add more commands and parse their arguments 2019-08-09 16:31:56 +03:00
LICENSE Initial commit 2019-03-04 10:52:30 +02:00
podman_compose.py Python packaging 2019-08-21 22:45:53 +02:00
README.md Python packaging 2019-08-21 22:45:53 +02:00
setup.cfg Python packaging 2019-08-21 22:45:53 +02:00
setup.py Python packaging 2019-08-21 22:45:53 +02:00

podman-compose

A script to run docker-compose.yml using podman, doing necessary mapping to make it work rootless.

Note, that it's still under development and might not work well yet.

Installation

Install latest stable version from PyPI:

pip install podman-compose

Or latest stable version from GitHub:

pip install https://github.com/muayyad-alsadi/podman-compose/archive/master.tar.gz

Or latest development version from GitHub:

pip install https://github.com/muayyad-alsadi/podman-compose/archive/devel.tar.gz

Mappings

  • 1podfw - create all containers in one pod (inter-container communication is done via localhost), doing port mapping in that pod.
  • 1pod - create all containers in one pod, doing port mapping in each container.
  • identity - no mapping.
  • hostnet - use host network, and inter-container communication is done via host gateway and published ports.
  • cntnet - create a container and use it via --network container:name (inter-container communication via localhost).
  • publishall - publish all ports to host (using -P) and communicate via gateway.

Examples

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

Working Example

Tested on latest podman (commit 349e69.. on 2019-03-11).

By using many containers on a single pod that shares the network (services talk via localhost):

./podman-compose.py -t 1podfw -f examples/awx3/docker-compose.yml up

Or by reusing a container network and --add-host:

$ ./podman-compose.py -t cntnet -f examples/awx3/docker-compose.yml up

Or by using host network and localhost works as follows:

$ ./podman-compose.py -t hostnet -f examples/awx3-hostnet-localhost/docker-compose.yml up

Work in progress

./podman-compose.py -t 1pod -f examples/awx3/docker-compose.yml up