-
-
Notifications
You must be signed in to change notification settings - Fork 191
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
Port mapping for ipv4 & ipv6 can cause different ports to be mapped and getMappedPort function will return wrong port #750
Comments
Thanks for raising, I'll need to look into it. Testcontainers resolves a list of host IPs, the order of which is determined by several factors like node version and OS. When we get the mapped port we probably need to find the port where the host matches the order, similar as you've done |
The order actually is quite random, even in one test execution, we do start redis & postgres, we have around 20 files with tests, and for each file we start dbs, and some files are passing and some not, seems like it's super random from docker side. |
Yep I think docker returns the ports in random order, but we should be able to find the one we want by host |
Pretty sure we are also seeing the same issue but I'm having a really hard time consistently reproducing it to confirm.... It does seem like there was an attempt to fix the issue in #483 though? |
That's correct. The behaviour right now is this:
Could you please upgrade to version 10.10.4 of Testcontainers, reproduce the issue and share the logs ( |
Expected Behaviour
I want to get a predictable port number and host,
the problem seems to be in this file - https://github.com/testcontainers/testcontainers-node/blob/main/packages/testcontainers/src/utils/bound-ports.ts
method - resolveHostPortBinding
line - return hostPortBindings[0].hostPort;
Actual Behaviour
We have tests that are running in parallel and it was quite hard to identify that issue, because locally on mac os everything is fine, but on latest ubuntu the problem auto assigning port appear
testcontainers/testcontainers-dotnet#825 - same issue for .net
So what happening:
Testcontainer Logs
...
Steps to Reproduce
Environment Information
we temporary fixed it by retrieving ipv4 port from the docker inspect info:
The text was updated successfully, but these errors were encountered: