I'm using testcontainer version 1.15.2
. Tests are run in intellij on windows 10.
I have a wiremock container. By default it listens on the port 8080
. I would like to map this port to let's say 8081
. So I do:
public WiremockContainer() {
super("wiremock/wiremock:2.9.0-alpine");
self()
.waitingFor(Wait.forLogMessage(".*port:\\s*8080.*", 1)
.withStartupTimeout(Duration.ofSeconds(25L)))
.withCreateContainerCmdModifier(cmd -> cmd.getHostConfig()
.withPortBindings(new PortBinding(Ports.Binding.bindPort(8081), new ExposedPort(8080)))
)
.withNetworkAliases("wiremock")
.withExposedPorts(8081);
}
When the container is created it listens on the random port, not the 8081
[1]. What am I doing wrong ? What should I do to make the container listen on 8081
instead of the random port ?
[1]
- I have another container that tries to connect on
http://wiremock:8081
and keep gettingConnection refused
- When I add:
.waitingFor((...)forPort(8081)(...)));
timeout occurs.