【发布时间】:2022-01-02 05:17:57
【问题描述】:
我正在使用测试容器版本1.15.2。测试在 windows 10 上的 intellij 中运行。
我有一个wiremock容器。默认情况下,它侦听端口8080。我想将此端口映射到8081。所以我这样做:
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);
}
创建容器时,它会侦听随机端口,而不是8081[1]。我究竟做错了什么 ?我应该怎么做才能让容器监听8081 而不是随机端口?
[1]
- 我有另一个容器尝试连接到
http://wiremock:8081并不断收到Connection refused - 当我添加时:
.waitingFor((...)forPort(8081)(...)));发生超时。
【问题讨论】:
标签: java spring-boot testcontainers docker-java testcontainers-junit5