@@ -62,42 +62,80 @@ public class ComposeContainer extends FailureDetectingExternalResource implement
6262
6363 public static final String COMPOSE_EXECUTABLE = SystemUtils .IS_OS_WINDOWS ? "docker.exe" : "docker" ;
6464
65- public static final String DEFAULT_DOCKER_IMAGE = "docker:24.0.2 " ;
65+ public static final String DEFAULT_DOCKER_IMAGE = "docker:27.5.0 " ;
6666
6767 private final ComposeDelegate composeDelegate ;
6868
6969 private String project ;
7070
7171 private List <String > filesInDirectory = new ArrayList <>();
7272
73- public ComposeContainer (File ... composeFiles ) {
74- this (Arrays .asList (composeFiles ));
73+ public ComposeContainer (DockerImageName image , File ... composeFiles ) {
74+ this (image , Arrays .asList (composeFiles ));
7575 }
7676
77- public ComposeContainer (List <File > composeFiles ) {
78- this (Base58 .randomString (6 ).toLowerCase (), composeFiles );
77+ public ComposeContainer (DockerImageName image , List <File > composeFiles ) {
78+ this (image , Base58 .randomString (6 ).toLowerCase (),composeFiles );
7979 }
8080
81- public ComposeContainer (String identifier , File ... composeFiles ) {
82- this (identifier , Arrays .asList (composeFiles ));
81+ public ComposeContainer (DockerImageName image , String identifier , File ... composeFiles ) {
82+ this (image , identifier , Arrays .asList (composeFiles ));
8383 }
8484
85- public ComposeContainer (String identifier , List <File > composeFiles ) {
85+ public ComposeContainer (DockerImageName image , String identifier , List <File > composeFiles ) {
8686 this .composeDelegate =
8787 new ComposeDelegate (
8888 ComposeDelegate .ComposeVersion .V2 ,
8989 composeFiles ,
9090 identifier ,
9191 COMPOSE_EXECUTABLE ,
92- DockerImageName .parse (
93- TestcontainersConfiguration
94- .getInstance ()
95- .getEnvVarOrUserProperty ("compose.container.image" , DEFAULT_DOCKER_IMAGE )
96- )
92+ image
9793 );
9894 this .project = this .composeDelegate .getProject ();
9995 }
10096
97+ /**
98+ * @deprecated
99+ * Use the new constructor ComposeContainer(DockerImageName image, File... composeFiles)
100+ */
101+ @ Deprecated
102+ public ComposeContainer (File ... composeFiles ) {
103+ this (getDockerImageName (),Arrays .asList (composeFiles ));
104+ }
105+ /**
106+ * @deprecated
107+ * Use the new constructor ComposeContainer(DockerImageName image,List<File> composeFiles)
108+ */
109+ @ Deprecated
110+ public ComposeContainer (List <File > composeFiles ) {
111+ this (getDockerImageName (), composeFiles );
112+ }
113+ /**
114+ * @deprecated
115+ * Use the new constructor ComposeContainer(DockerImageName image, String identifier, File... composeFile)
116+ */
117+ @ Deprecated
118+ public ComposeContainer (String identifier , File ... composeFiles ) {
119+ this (getDockerImageName (),identifier , Arrays .asList (composeFiles ));
120+ }
121+
122+ /**
123+ * @deprecated
124+ * Use the new constructor ComposeContainer(DockerImageName image,String identifier, List<File> composeFiles)
125+ */
126+ @ Deprecated
127+ public ComposeContainer (String identifier , List <File > composeFiles ) {
128+ this (getDockerImageName (),identifier , composeFiles );
129+ }
130+
131+ public static DockerImageName getDockerImageName () {
132+ return DockerImageName .parse (
133+ TestcontainersConfiguration
134+ .getInstance ()
135+ .getEnvVarOrUserProperty ("compose.container.image" , DEFAULT_DOCKER_IMAGE )
136+ );
137+ }
138+
101139 @ Override
102140 @ Deprecated
103141 public Statement apply (Statement base , Description description ) {
0 commit comments