You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If we have a compose file with two services A and B, where B depends_on A then the following used to be the scenario.
docker compose up -d would start both service-a and service-b as expected.
If afterwards we ran
docker compose up -d service-b then nothing would happen. We'd just get container service-b Running.
This was true until at least Docker Compose version v2.15.1. However at least from Docker Compose version v2.26.0 when running command 2 above we recreate service-b even if nothing actually changed. This is also the case with the latest compose version v2.29.2.
Running docker compose up -d will recreate service-b again which, again, didn't use to happen.
I had a look and I suspect that this happens because when starting a container with no-deps, the com.docker.compose.depends_on label is now empty, when before it wasn't. I think that this is the diff that causes the container to be recreated.
So this seems to be an unintended regression and it does make docker compose rather more finicky than before so hopefully it can be fixed.
Steps To Reproduce
No response
Compose Version
No response
Docker Environment
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered:
The root cause is that we use a mutated ServiceConfig with depends_on definition removed when running --no-deps, which changes the service config hash. I'm investigating for a fix
If you do find a fix and compile a version that I can download from this repository I can help confirm that the issue is resolved from my side but it also seems rather simple to reproduce.
Let me know if I can help in other way. If not I'll just wait 🤞
I commented on the PR issues and yes it solves the bug in question. The fix is already pulled and deployed on our side. I thought this issue would get closed once the PR was merged or released so I'll do it now.
Description
If we have a compose file with two services A and B, where B
depends_on
A then the following used to be the scenario.docker compose up -d
would start bothservice-a
andservice-b
as expected.If afterwards we ran
docker compose up -d service-b
then nothing would happen. We'd just getcontainer service-b Running
.This was true until at least
Docker Compose version v2.15.1
. However at least fromDocker Compose version v2.26.0
when running command 2 above we recreateservice-b
even if nothing actually changed. This is also the case with the latest compose versionv2.29.2
.docker compose up -d
will recreateservice-b
again which, again, didn't use to happen.I had a look and I suspect that this happens because when starting a container with
no-deps
, thecom.docker.compose.depends_on
label is now empty, when before it wasn't. I think that this is the diff that causes the container to be recreated.So this seems to be an unintended regression and it does make docker compose rather more finicky than before so hopefully it can be fixed.
Steps To Reproduce
No response
Compose Version
No response
Docker Environment
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: