From 6e50e62295336bf39b88ccd9aff9fec260cfd846 Mon Sep 17 00:00:00 2001 From: Pavel Derendyaev Date: Fri, 3 Feb 2017 18:21:39 +0300 Subject: [PATCH 1/2] Add ability to override DockerClientFactory.TINY_IMAGE in testcontainers.properties --- core/src/main/java/org/testcontainers/DockerClientFactory.java | 3 ++- .../testcontainers/utility/TestcontainersConfiguration.java | 2 ++ docs/usage.md | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/testcontainers/DockerClientFactory.java b/core/src/main/java/org/testcontainers/DockerClientFactory.java index 26facdfbec7..5d1b17d703c 100644 --- a/core/src/main/java/org/testcontainers/DockerClientFactory.java +++ b/core/src/main/java/org/testcontainers/DockerClientFactory.java @@ -12,6 +12,7 @@ import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.testcontainers.dockerclient.*; +import org.testcontainers.utility.TestcontainersConfiguration; import java.util.List; import java.util.Optional; @@ -28,7 +29,7 @@ @Slf4j public class DockerClientFactory { - private static final String TINY_IMAGE = "alpine:3.2"; + private static final String TINY_IMAGE = TestcontainersConfiguration.getInstance().getTinyImage(); private static DockerClientFactory instance; // Cached client configuration diff --git a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java index 560a98e7984..6bc1c4d7ec3 100644 --- a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java +++ b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java @@ -24,6 +24,7 @@ public class TestcontainersConfiguration { private String ambassadorContainerImage = "richnorth/ambassador:latest"; private String vncRecordedContainerImage = "richnorth/vnc-recorder:latest"; + private String tinyImage = "alpine:3.2"; private static TestcontainersConfiguration loadConfiguration() { final TestcontainersConfiguration config = new TestcontainersConfiguration(); @@ -42,6 +43,7 @@ private static TestcontainersConfiguration loadConfiguration() { config.ambassadorContainerImage = properties.getProperty("ambassador.container.image", config.ambassadorContainerImage); config.vncRecordedContainerImage = properties.getProperty("vncrecorder.container.image", config.vncRecordedContainerImage); + config.tinyImage = properties.getProperty("tinyimage.container.image", config.vncRecordedContainerImage); log.debug("Testcontainers configuration overrides loaded from {}: {}", configOverrides, config); diff --git a/docs/usage.md b/docs/usage.md index 0569a45c9d5..f6b381c6c8d 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -109,9 +109,12 @@ Testcontainers uses additional docker images under some modes of execution: > *N.B.:* both these images use the 'latest' tag, which could potentially affect repeatability of tests and compatibility with Testcontainers _if the image is ever changed_. This is a [known issue](https://github.com/testcontainers/testcontainers-java/issues/276) which will be addressed in the future. The current 'latest' version of these images will never be changed until they are replaced by a new image altogether. +Last but not least, `alpine:3.2` image is used for Docker host IP address detection in some special cases. + If it is necessary to override these image names (e.g. when using a private registry), you should create a file named `testcontainers.properties` and place it on the classpath with the following content: ```properties ambassador.container.image=replacement image name here vncrecorder.container.image=replacement image name here +tinyimage.container.image=replacement image name here ``` From c4a30d89e62b2b925acd075477f2102ad4f58479 Mon Sep 17 00:00:00 2001 From: Pavel Derendyaev Date: Fri, 3 Feb 2017 18:32:34 +0300 Subject: [PATCH 2/2] Typofix --- .../org/testcontainers/utility/TestcontainersConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java index 6bc1c4d7ec3..c969b08d4f6 100644 --- a/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java +++ b/core/src/main/java/org/testcontainers/utility/TestcontainersConfiguration.java @@ -43,7 +43,7 @@ private static TestcontainersConfiguration loadConfiguration() { config.ambassadorContainerImage = properties.getProperty("ambassador.container.image", config.ambassadorContainerImage); config.vncRecordedContainerImage = properties.getProperty("vncrecorder.container.image", config.vncRecordedContainerImage); - config.tinyImage = properties.getProperty("tinyimage.container.image", config.vncRecordedContainerImage); + config.tinyImage = properties.getProperty("tinyimage.container.image", config.tinyImage); log.debug("Testcontainers configuration overrides loaded from {}: {}", configOverrides, config);