I am trying to use as mush as possible the podman
command to manage my containers.
I need to run the docker-compose
command to deploy a multi container application. Is there any similar option with podman
?
Thank you
I am trying to use as mush as possible the podman
command to manage my containers.
I need to run the docker-compose
command to deploy a multi container application. Is there any similar option with podman
?
Thank you
I think the roadmap here was to use the podman pod
subcommand for docker compose like functionality. I don’t know if that’s been implmented or not or how far along it is. reference: ENH: Podman Pod commands · Issue #341 · containers/podman · GitHub
I will investigate this way.
Thank you
If you are still interested with the latest podman version you can create pods which makes it easy to create multi container applications.
You can check this PR Replace docker-compose by podman pod and Makefile by cverna · Pull Request #49 · fedora-infra/fpdc · GitHub where I use podman and Makefile to replace docker-compose
Hi. I have a docker-compose.yml:
version: '3'
services:
back:
image: docker.io/basilrabi/back
container_name: taiga-back
restart: unless-stopped
depends_on:
- db
- events
networks:
- default
volumes:
- ./data/media:/taiga-media
- ./conf/back:/taiga-conf
env_file:
- variables.env
front:
image: docker.io/dockertaiga/front
container_name: taiga-front
restart: unless-stopped
networks:
- default
volumes:
- ./conf/front:/taiga-conf
env_file:
- variables.env
db:
image: docker.io/postgres:11-alpine
container_name: taiga-db
restart: unless-stopped
networks:
- default
env_file:
- variables.env
volumes:
- ./data/db:/var/lib/postgresql/data
rabbit:
image: docker.io/dockertaiga/rabbit
container_name: taiga-rabbit
restart: unless-stopped
networks:
- default
env_file:
- variables.env
events:
image: docker.io/dockertaiga/events
container_name: taiga-events
restart: unless-stopped
depends_on:
- rabbit
networks:
- default
env_file:
- variables.env
proxy:
image: docker.io/basilrabi/proxy
container_name: taiga-proxy
restart: unless-stopped
depends_on:
- back
- front
- events
networks:
- default
ports:
- 80:80
- 443:443
volumes:
#- ./cert:/taiga-cert
- ./conf/proxy:/taiga-conf
env_file:
- variables.env
networks:
default:
with a variables.env
:
TAIGA_HOST=192.169.101.133
TAIGA_SCHEME=http
TAIGA_BACK_HOST=back
TAIGA_FRONT_HOST=front
EVENTS_HOST=events
TAIGA_SECRET=bjmW2hU5dLHya6hiovtslHyXlAB3xYpZ3EeP6fPnDkRqxKJONOYDggLaP74lgF3s
ENABLE_SSL='no'
# CERT_NAME=fullchain.pem
# CERT_KEY=privkey.pem
POSTGRES_HOST=db
POSTGRES_DB=taiga
POSTGRES_USER=taiga
POSTGRES_PASSWORD=taiga
RABBIT_HOST=rabbit
RABBIT_USER=taiga
RABBIT_PASSWORD=password
RABBIT_VHOST=taiga
STARTUP_TIMEOUT=15s
SET_EMAIL_BACKEND=False
SET_EMAIL_USE_SSL=False
SET_EMAIL_HOST=smtp.gmail.com
SET_EMAIL_PORT=587
SERVER_EMAIL_USER=server@gmail.com
SERVER_EMAIL_PASSWORD=servermailpassword
When using docker-compose up
, I can see the web site in http://192.169.101.133
. I attempted to convert to podman and created the following script:
#!/bin/bash
VOL=$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )
mkdir -p $VOL/conf/back
mkdir -p $VOL/conf/front
mkdir -p $VOL/conf/proxy
mkdir -p $VOL/data/db
mkdir -p $VOL/data/media
podman pod exists taiga
if [ "$?" == "0" ]; then
podman pod rm -f taiga
fi
podman pod create --name taiga && \
podman run --name db \
--hostname db \
--pod taiga -dt \
--env-file variables.env \
-v $VOL/data/db:/var/lib/postgresql/data:z \
--image-volume tmpfs \
docker.io/postgres:11-alpine && \
podman run --name rabbit \
--hostname rabbit \
--pod taiga -dt \
--env-file variables.env \
docker.io/dockertaiga/rabbit && \
podman run --name front \
--hostname front \
--pod taiga -dt \
--env-file variables.env \
-v $VOL/conf/front:/taiga-conf:z \
--image-volume tmpfs \
docker.io/dockertaiga/front && \
podman run --name events \
--hostname events \
--pod taiga -dt \
--env-file variables.env \
docker.io/dockertaiga/events && \
podman run --name back \
--hostname back \
--pod taiga -dt \
--env-file variables.env \
-v $VOL/data/media:/taiga-media:z \
-v $VOL/conf/back:/taiga-conf:z \
--image-volume tmpfs \
docker.io/basilrabi/back && \
podman run --name proxy \
--pod taiga -dt \
--env-file variables.env \
-p 80:80 \
-v $VOL/conf/proxy:/taiga-conf:z \
--image-volume tmpfs \
docker.io/basilrabi/proxy
However, the containers seem to fail to communicate with each other. Any advice on how to replicate the behavior of docker-compose up
using podman
? I’m a beginer in podman. Thank you in advance.