diff --git a/core/src/main/java/org/testcontainers/containers/ContainerDef.java b/core/src/main/java/org/testcontainers/containers/ContainerDef.java index df058945aef..5dd3abb37bd 100644 --- a/core/src/main/java/org/testcontainers/containers/ContainerDef.java +++ b/core/src/main/java/org/testcontainers/containers/ContainerDef.java @@ -32,7 +32,7 @@ class ContainerDef { @Getter private RemoteDockerImage image; - Set exposedPorts = new HashSet<>(); + Set exposedPorts = new LinkedHashSet<>(); Set portBindings = new HashSet<>(); @@ -150,7 +150,7 @@ protected void setImage(DockerImageName image) { } public Set getExposedPorts() { - return new HashSet<>(this.exposedPorts); + return new LinkedHashSet<>(this.exposedPorts); } protected void setExposedPorts(Set exposedPorts) { diff --git a/core/src/main/java/org/testcontainers/containers/GenericContainer.java b/core/src/main/java/org/testcontainers/containers/GenericContainer.java index fdd36dd9f68..929ff41a9b4 100644 --- a/core/src/main/java/org/testcontainers/containers/GenericContainer.java +++ b/core/src/main/java/org/testcontainers/containers/GenericContainer.java @@ -272,12 +272,19 @@ public void setImage(Future image) { @Override public List getExposedPorts() { - return this.containerDef.getExposedPorts().stream().map(ExposedPort::getPort).collect(Collectors.toList()); + List exposedPorts = new ArrayList<>(); + for (ExposedPort exposedPort : this.containerDef.getExposedPorts()) { + exposedPorts.add(exposedPort.getPort()); + } + return exposedPorts; } @Override public void setExposedPorts(List exposedPorts) { - this.containerDef.setExposedPorts(exposedPorts.stream().map(ExposedPort::tcp).collect(Collectors.toSet())); + this.containerDef.exposedPorts.clear(); + for (Integer exposedPort : exposedPorts) { + this.containerDef.addExposedTcpPort(exposedPort); + } } /**