diff --git a/docs/examples/dind.md b/docs/examples/dind.md
index 7ee4fb406..c75a2094c 100644
--- a/docs/examples/dind.md
+++ b/docs/examples/dind.md
@@ -33,5 +33,5 @@ services:
# environment:
# - TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal
volumes:
- - /var/run/docker.sock:/var/run/docker.sock
+ - /var/run/docker.sock.raw:/var/run/docker.sock
```
diff --git a/src/Testcontainers/Builders/ContainerBuilder`3.cs b/src/Testcontainers/Builders/ContainerBuilder`3.cs
index 8bf63d77a..468c894c9 100644
--- a/src/Testcontainers/Builders/ContainerBuilder`3.cs
+++ b/src/Testcontainers/Builders/ContainerBuilder`3.cs
@@ -92,17 +92,7 @@ public TBuilderEntity WithImage(string image)
///
public TBuilderEntity WithImage(IImage image)
{
- if (string.IsNullOrEmpty(TestcontainersSettings.HubImageNamePrefix))
- {
- return Clone(new ContainerConfiguration(image: image));
- }
-
- if (!string.IsNullOrEmpty(image.GetHostname()))
- {
- return Clone(new ContainerConfiguration(image: image));
- }
-
- return Clone(new ContainerConfiguration(image: new DockerImage(image.Repository, image.Registry, image.Tag, image.Digest, TestcontainersSettings.HubImageNamePrefix)));
+ return Clone(new ContainerConfiguration(image: image.ApplyHubImageNamePrefix()));
}
///
diff --git a/src/Testcontainers/Builders/IImageFromDockerfileBuilder`1.cs b/src/Testcontainers/Builders/IImageFromDockerfileBuilder`1.cs
index 47f2d7131..d8be6544a 100644
--- a/src/Testcontainers/Builders/IImageFromDockerfileBuilder`1.cs
+++ b/src/Testcontainers/Builders/IImageFromDockerfileBuilder`1.cs
@@ -23,10 +23,10 @@ public interface IImageFromDockerfileBuilder
///
/// Sets the name.
///
- /// The name.
+ /// The image.
/// A configured instance of .
[PublicAPI]
- TBuilderEntity WithName(IImage name);
+ TBuilderEntity WithName(IImage image);
///
/// Sets the Dockerfile.
diff --git a/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs b/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs
index 5a4eea426..7ddc6e779 100644
--- a/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs
+++ b/src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs
@@ -58,9 +58,9 @@ public ImageFromDockerfileBuilder WithName(string name)
}
///
- public ImageFromDockerfileBuilder WithName(IImage name)
+ public ImageFromDockerfileBuilder WithName(IImage image)
{
- return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(image: name));
+ return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(image: image.ApplyHubImageNamePrefix()));
}
///
diff --git a/src/Testcontainers/Images/IImageExtensions.cs b/src/Testcontainers/Images/IImageExtensions.cs
new file mode 100644
index 000000000..bbfde1ce0
--- /dev/null
+++ b/src/Testcontainers/Images/IImageExtensions.cs
@@ -0,0 +1,33 @@
+namespace DotNet.Testcontainers.Images
+{
+ using DotNet.Testcontainers.Configurations;
+
+ ///
+ /// Provides extension methods for the interface.
+ ///
+ internal static class IImageExtensions
+ {
+ ///
+ /// Applies the Docker Hub image name prefix if it is configured.
+ ///
+ /// The original instance.
+ ///
+ /// A new instance with the Docker Hub image name prefix
+ /// applied, or the original instance if no prefix is set.
+ ///
+ public static IImage ApplyHubImageNamePrefix(this IImage image)
+ {
+ if (string.IsNullOrEmpty(TestcontainersSettings.HubImageNamePrefix))
+ {
+ return image;
+ }
+
+ if (!string.IsNullOrEmpty(image.GetHostname()))
+ {
+ return image;
+ }
+
+ return new DockerImage(image.Repository, image.Registry, image.Tag, image.Digest, TestcontainersSettings.HubImageNamePrefix);
+ }
+ }
+}