From bb0554b626dd29031ee01efc14f21972a0015fba Mon Sep 17 00:00:00 2001 From: Sergei Egorov Date: Fri, 6 Dec 2019 11:35:33 +0200 Subject: [PATCH] do not implicitly connect to Kafka network (#2139) Apparently, there is a bug(?) in Docker that sometimes(!) re-assigns random ports when container is connect to network. It means that we cannot lazily connect KafkaContainer to network in case it wasn't set. --- .../org/testcontainers/containers/KafkaContainer.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java index 60037acfd45..b0ce047f5d4 100644 --- a/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java +++ b/modules/kafka/src/main/java/org/testcontainers/containers/KafkaContainer.java @@ -39,6 +39,7 @@ public KafkaContainer() { public KafkaContainer(String confluentPlatformVersion) { super(TestcontainersConfiguration.getInstance().getKafkaImage() + ":" + confluentPlatformVersion); + super.withNetwork(Network.SHARED); withExposedPorts(KAFKA_PORT); // Use two listeners with different names, it will force Kafka to communicate with itself via internal @@ -70,16 +71,6 @@ public Network getNetwork() { "Consider using KafkaContainer#withNetwork", new Exception("Deprecated method") ); - Network network = Network.SHARED; - super.withNetwork(network); - - if (getContainerId() != null) { - dockerClient.connectToNetworkCmd() - .withContainerId(getContainerId()) - .withNetworkId(network.getId()) - .exec(); - } - return network; } return super.getNetwork(); }