Describe the bugpodman-compose up --help lists --pull-always as an argument that should pull the latest image every time.
This argument does not add --pull always or equivalent to the podman run command executed by podman-compose. Old local images are used instead of the behaviour described by podman-compose up --help. This affects all my containers and compose files.
As an aside, adding pull_policy: always in the docker-compose.yaml file works properly. It adds --pull always to the podman run command, and old local images are not used.
I'm running podman-compose 1.0.6 from debian bookworm backports, podman version 4.3.1 from debian bookworm. I installed the latest devel version (as of about an hour ago) and get the same behaviour.
To Reproduce
Steps to reproduce the behavior:
Run podman-compose up -d --pull-always, preferably with a container whose image is updated frequently. Use the "latest" tag or omit the tag.
Allow some time to pass until your local version of "latest" is out of date. There may be a shortcut for this that I'm not aware of (e.g. download an old version, change the tag to latest).
Run podman-compose down and then podman-compose up -d --pull-always. The latest "latest" should have been pulled, but it is not. This is the bug.
Optional: add pull_policy: always and rerun the previous step. The new image will be pulled because podman run has --pull always added near the end of the command.
The behaviour is consistent across all my composes. Here is a short censored one:
It won't actually yield a working duckdns container because the environment variables are omitted, but podman-compose up and down work as expected and the issue occurs before the container goes up anyway.
Expected behavior
The 3rd step should add --pull always to the podman run command, or do something equivalent (e.g. podman pull before podman run).
Behaviour with pull_policy: always in the compose file is shown below. There may be slight differences in how the --pull-always arg is supposed to work, but the point is that a pull takes place, even if there is a local version of the image:
Actual behavior
The 3rd step will start up whatever old local image is available, if present. No error, warning, return code, or other indication is given that it didn't do what --pull-always suggests.
Behaviour shown below with pull_policy in the compose file commented out so the bug behaviour is present.
Describe the bug
podman-compose up --help
lists--pull-always
as an argument that should pull the latest image every time.This argument does not add
--pull always
or equivalent to thepodman run
command executed bypodman-compose
. Old local images are used instead of the behaviour described bypodman-compose up --help
. This affects all my containers and compose files.As an aside, adding
pull_policy: always
in the docker-compose.yaml file works properly. It adds--pull always
to thepodman run
command, and old local images are not used.I'm running podman-compose 1.0.6 from debian bookworm backports, podman version 4.3.1 from debian bookworm. I installed the latest devel version (as of about an hour ago) and get the same behaviour.
To Reproduce Steps to reproduce the behavior:
podman-compose up -d --pull-always
, preferably with a container whose image is updated frequently. Use the "latest" tag or omit the tag.podman-compose down
and thenpodman-compose up -d --pull-always
. The latest "latest" should have been pulled, but it is not. This is the bug.pull_policy: always
and rerun the previous step. The new image will be pulled becausepodman run
has--pull always
added near the end of the command.The behaviour is consistent across all my composes. Here is a short censored one:
It won't actually yield a working duckdns container because the environment variables are omitted, but
podman-compose up
anddown
work as expected and the issue occurs before the container goes up anyway.Expected behavior The 3rd step should add
--pull always
to thepodman run
command, or do something equivalent (e.g.podman pull
beforepodman run
).Behaviour with
pull_policy: always
in the compose file is shown below. There may be slight differences in how the--pull-always
arg is supposed to work, but the point is that a pull takes place, even if there is a local version of the image:Actual behavior The 3rd step will start up whatever old local image is available, if present. No error, warning, return code, or other indication is given that it didn't do what
--pull-always
suggests.Behaviour shown below with
pull_policy
in the compose file commented out so the bug behaviour is present.Environment:
Additional context
podman-compose build
may or may not have the same bug, but I am not familiar with it enough to find out.