-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] not possible to run two compose projects on the same machine anymore, hang #12627
Comments
Happens also on Linux, apparently when pulling big images for existing services. It destroys other containers state as well and for me the only way to resolve is to entirely recreate all the containers and networks on the host by run Extremely annoying and it happens only from recent versions, probably from 28.0.0. |
@danieletorelli which image are you using to reproduce ? |
@ndeloof Recently, it happens always when I'm trying to pull a new HomeAssistant image: So I think you could try creating a compose with an old image and then running |
@ndeloof Important to say that, in order to completely restore the containers in a healthy state, after running |
just found out that the issue is still present if you first start stack1 and the do the second |
@danieletorelli I tried to reproduce with homeassistant image.
@pbering You say it will hang in "Stopping" state... |
@ndeloof not possible, when in "Stopping" state af trying to run Not sure what you mean with: "The only distinction I can see vs a plain docker run ... is that Ctrl+C is sent to container, while when using compose this is the compose command line you interrupt, which sends a ContainerStop API call to engine. Maybe you can try to reproduce using docker run ... without detach, and in a separate terminal run docker stop ?" If I ONLY use |
Please also notice my statement "If you remove the second port in stack2, it also works as expected, strangely enough..."... I can run multiple compose projects as long as each service ONLY has 1 published port, as soon as any service has more than 1 published port everything hangs. |
if
indeed, this I can't explain, but some race condition in docker engine ? |
@ndeloof it happened again with another, way smaller, image.
and I was able to determine that
I'm not sure anymore that this is the same issue described by @pbering, so please let me know if you'd prefer me to open another issue. |
@danieletorelli please report to github.com/moby/moby. Whenever there might be something wrong with Compose, engine should not crash as client API is somehow misused. cc @thaJeztah |
@ndeloof, thank you, I see that is already reported there in moby/moby#49513 |
@ndeloof I haven't been able to reproduce this using only |
@pbering I'm not saying there's nothing wrong with Compose and we can't provide a fix, but if you see Docker engine stuck, this demonstrates an issue on engine side which should not be broken by some inadequate API calls. Remember compose relies on many API calls within a very short timeframe, compared to manual reproduction by |
Description
When executing step 5 it just hang forever (tried leaving it for ~45min) with:
I can do CTRL-C to terminate and then the output is "exit status 130" like so:
I can't even do
docker compose -p stack1 --file ./compose.stack1.yaml down
ordocker compose -p stack2 --file ./compose.stack2.yaml down
, it will hang in "Stopping" state...Only way to get Docker engine to respond again is to reboot the host.
If I try to do the same as in stack1 and stack2 with:
Then everything works as expected.
If you remove the second port in stack2, it also works as expected, strangely enough...
Steps To Reproduce
docker desktop engine use windows
docker compose -p stack1 --file ./compose.stack1.yaml up -d
docker compose -p stack2 --file ./compose.stack2.yaml up -d
Compose Version
Docker Environment
Anything else?
No response
The text was updated successfully, but these errors were encountered: