Module
Core
Testcontainers version
2.0.3
Using the latest Testcontainers version?
Yes
Host OS
Windows
Host Arch
windows/amd64
Docker version
Client:
Version: 29.1.3
API version: 1.52
Go version: go1.25.5
Git commit: f52814d
Built: Fri Dec 12 14:51:52 2025
OS/Arch: windows/amd64
Context: desktop-linux
Server: Docker Desktop 4.55.0 (213807)
Engine:
Version: 29.1.3
API version: 1.52 (minimum version 1.44)
Go version: go1.25.5
Git commit: fbf3ed2
Built: Fri Dec 12 14:49:51 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.2.0
GitCommit: 1c4457e00facac03ce1d75f7b6777a7a851e5c41
runc:
Version: 1.3.4
GitCommit: v1.3.4-0-gd6d73eb8
docker-init:
Version: 0.19.0
GitCommit: de40ad0
What happened?
I am upgrading TestContainers from 1.21.3 to 2.0.3 due to the recent changes in the Docker engine that we can no longer (by default) run against latest Docker engine. Most of the issues have been resolved in when running docker localy.
The regression is in the ComposeContainer where the .withLocalCompose(boolean) has been removed in this PR. By doing so it is no longer possible to run docker in docker without having a docker executable in the host docker image.
With the removal of the ComposeContainer.withLocalCompose(boolean) it is no longer possible to influence the localCompose field on the ComposeContainer class which results in that ComposeDelegate.runWithCompose(boolean localCompose, String cmd, Map<String, String> env, List<String> fileCopyInclusions) is always called with localCompose=true. Making it impossible to the ContainerisedDockerCompose strategy
Relevant log output
Additional Information
No response
Module
Core
Testcontainers version
2.0.3
Using the latest Testcontainers version?
Yes
Host OS
Windows
Host Arch
windows/amd64
Docker version
Client: Version: 29.1.3 API version: 1.52 Go version: go1.25.5 Git commit: f52814d Built: Fri Dec 12 14:51:52 2025 OS/Arch: windows/amd64 Context: desktop-linux Server: Docker Desktop 4.55.0 (213807) Engine: Version: 29.1.3 API version: 1.52 (minimum version 1.44) Go version: go1.25.5 Git commit: fbf3ed2 Built: Fri Dec 12 14:49:51 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: v2.2.0 GitCommit: 1c4457e00facac03ce1d75f7b6777a7a851e5c41 runc: Version: 1.3.4 GitCommit: v1.3.4-0-gd6d73eb8 docker-init: Version: 0.19.0 GitCommit: de40ad0What happened?
I am upgrading TestContainers from 1.21.3 to 2.0.3 due to the recent changes in the Docker engine that we can no longer (by default) run against latest Docker engine. Most of the issues have been resolved in when running docker localy.
The regression is in the
ComposeContainerwhere the.withLocalCompose(boolean)has been removed in this PR. By doing so it is no longer possible to run docker in docker without having a docker executable in the host docker image.With the removal of the
ComposeContainer.withLocalCompose(boolean)it is no longer possible to influence thelocalComposefield on theComposeContainerclass which results in thatComposeDelegate.runWithCompose(boolean localCompose, String cmd, Map<String, String> env, List<String> fileCopyInclusions)is always called withlocalCompose=true. Making it impossible to theContainerisedDockerComposestrategyRelevant log output
Additional Information
No response