Skip to content

[Bug]: Regression - Unable to use ComposeContainer without a local docker compose #11415

@terryvdgriend

Description

@terryvdgriend

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions