containers / containers/podman-compose

Issue upgrading running configuration

Open
#829 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
6.2k
Forks
622
PR merge metrics
No merged PRs in 30d

Description

On a RHEL8.8 base:

using podman version: 4.4.1
podman-composer version 1.0.3
podman --version
podman version 4.4.1

I'm testing podman-compose on a very basic Traefik based project:

podman-compose.yml
```
version: "3.8"

services:

traefik:
image: "traefik:v2.10"
container_name: "traefik"
restart: always
command:
- "--log.level=DEBUG"
- "--log.filePath=/var/log/traefik.log"
- "--api.insecure=true"
- "--api.dashboard=true"
- "--api.debug=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--providers.file.directory=/config"
- "--accesslog=true"
- "--accesslog.filepath=/var/log/access.log"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
#- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "/run/podman/podman.sock:/var/run/docker.sock:ro"
- $PWD/config:/config
- $PWD/log:/var/log
labels:
# Dashboard
traefik.enable: true
traefik.http.routers.api.rule: "PathPrefix(`/api`) || PathPrefix(`/dashboard`)"
traefik.http.routers.api.service: api@internal
traefik.http.routers.api.entrypoints: web

portainer:
image: portainer/portainer-ce
container_name: portainer
restart: always
ports:
- 9000:9000
volumes:
- "/run/podman/podman.sock:/var/run/docker.sock:ro"
```

The first time `podman-compose up -d` works fine.

But when I update the podman-compose.yml and try `podman-compose up -d`again I get the following error:
```
root:~/projects/gitref_reverse_proxy$ podman-compose up -d
['podman', '--version', '']
using podman version: 4.4.1
** excluding: set()
['podman', 'network', 'exists', 'gitref_reverse_proxy_default']
podman run --name=traefik -d --label traefik.enable=True --label traefik.http.routers.api.rule=Host(`s00vl9990036) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`)) --label traefik.http.routers.api.service=api@internal --label traefik.http.routers.api.entrypoints=web --label io.podman.compose.config-hash=123 --label io.podman.compose.project=gitref_reverse_proxy --label io.podman.compose.version=0.0.1 --label com.docker.compose.project=gitref_reverse_proxy --label com.docker.compose.project.working_dir=/root/projects/gitref_reverse_proxy --label com.docker.compose.project.config_files=podman-compose.yml --label com.docker.compose.container-number=1 --label com.docker.compose.service=traefik -v /run/podman/podman.sock:/var/run/docker.sock:ro -v /root/projects/gitref_reverse_proxy/config:/config -v /root/projects/gitref_reverse_proxy/log:/var/log --net gitref_reverse_proxy_default --network-alias traefik -p 80:80 -p 443:443 -p 8080:8080 --restart always traefik:v2.10 --log.level=DEBUG --log.filePath=/var/log/traefik.log --api.insecure=true --api.dashboard=true --api.debug=true --providers.docker=true --providers.docker.exposedbydefault=false --entrypoints.web.address=:80 --entrypoints.websecure.address=:443 --providers.file.directory=/config --accesslog=true --accesslog.filepath=/var/log/access.log
Error: creating container storage: the container name "traefik" is already in use by 72bafc7a6f5e2f1acd63a84d64aaa47890be982004cecde1af405a75faa28ebe. You have to remove that container to be able to reuse that name: that name is already in use
exit code: 125
podman start traefik
exit code: 0
['podman', 'network', 'exists', 'gitref_reverse_proxy_default']
podman run --name=portainer -d --label io.podman.compose.config-hash=123 --label io.podman.compose.project=gitref_reverse_proxy --label io.podman.compose.version=0.0.1 --label com.docker.compose.project=gitref_reverse_proxy --label com.docker.compose.project.working_dir=/root/projects/gitref_reverse_proxy --label com.docker.compose.project.config_files=podman-compose.yml --label com.docker.compose.container-number=1 --label com.docker.compose.service=portainer -v /run/podman/podman.sock:/var/run/docker.sock:ro --net gitref_reverse_proxy_default --network-alias portainer -p 9000:9000 --restart always portainer/portainer-ce
Error: creating container storage: the container name "portainer" is already in use by 89d7b3b9356bdaa1d96a5d51455092162a77b3fad26840c27cd4ddb976bbde3f. You have to remove that container to be able to reuse that name: that name is already in use
exit code: 125
podman start portainer
exit code: 0
```

The only way I found to get everything fresh is to
podman-compose stop
podman container prune

I can't find any obvious reference to this issue on the web, and only have experience with docker-compose.
So I know this should be working but I have no clue what's causing the issue here

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.