@@ -60,42 +60,80 @@ public class ComposeContainer implements Startable {
6060
6161 public static final String COMPOSE_EXECUTABLE = SystemUtils .IS_OS_WINDOWS ? "docker.exe" : "docker" ;
6262
63- public static final String DEFAULT_DOCKER_IMAGE = "docker:24.0.2 " ;
63+ public static final String DEFAULT_DOCKER_IMAGE = "docker:27.5.0 " ;
6464
6565 private final ComposeDelegate composeDelegate ;
6666
6767 private String project ;
6868
6969 private List <String > filesInDirectory = new ArrayList <>();
7070
71- public ComposeContainer (File ... composeFiles ) {
72- this (Arrays .asList (composeFiles ));
71+ public ComposeContainer (DockerImageName image , File ... composeFiles ) {
72+ this (image , Arrays .asList (composeFiles ));
7373 }
7474
75- public ComposeContainer (List <File > composeFiles ) {
76- this (Base58 .randomString (6 ).toLowerCase (), composeFiles );
75+ public ComposeContainer (DockerImageName image , List <File > composeFiles ) {
76+ this (image , Base58 .randomString (6 ).toLowerCase (),composeFiles );
7777 }
7878
79- public ComposeContainer (String identifier , File ... composeFiles ) {
80- this (identifier , Arrays .asList (composeFiles ));
79+ public ComposeContainer (DockerImageName image , String identifier , File ... composeFiles ) {
80+ this (image , identifier , Arrays .asList (composeFiles ));
8181 }
8282
83- public ComposeContainer (String identifier , List <File > composeFiles ) {
83+ public ComposeContainer (DockerImageName image , String identifier , List <File > composeFiles ) {
8484 this .composeDelegate =
8585 new ComposeDelegate (
8686 ComposeDelegate .ComposeVersion .V2 ,
8787 composeFiles ,
8888 identifier ,
8989 COMPOSE_EXECUTABLE ,
90- DockerImageName .parse (
91- TestcontainersConfiguration
92- .getInstance ()
93- .getEnvVarOrUserProperty ("compose.container.image" , DEFAULT_DOCKER_IMAGE )
94- )
90+ image
9591 );
9692 this .project = this .composeDelegate .getProject ();
9793 }
9894
95+ /**
96+ * @deprecated
97+ * Use the new constructor ComposeContainer(DockerImageName image, File... composeFiles)
98+ */
99+ @ Deprecated
100+ public ComposeContainer (File ... composeFiles ) {
101+ this (getDockerImageName (),Arrays .asList (composeFiles ));
102+ }
103+ /**
104+ * @deprecated
105+ * Use the new constructor ComposeContainer(DockerImageName image,List<File> composeFiles)
106+ */
107+ @ Deprecated
108+ public ComposeContainer (List <File > composeFiles ) {
109+ this (getDockerImageName (), composeFiles );
110+ }
111+ /**
112+ * @deprecated
113+ * Use the new constructor ComposeContainer(DockerImageName image, String identifier, File... composeFile)
114+ */
115+ @ Deprecated
116+ public ComposeContainer (String identifier , File ... composeFiles ) {
117+ this (getDockerImageName (),identifier , Arrays .asList (composeFiles ));
118+ }
119+
120+ /**
121+ * @deprecated
122+ * Use the new constructor ComposeContainer(DockerImageName image,String identifier, List<File> composeFiles)
123+ */
124+ @ Deprecated
125+ public ComposeContainer (String identifier , List <File > composeFiles ) {
126+ this (getDockerImageName (),identifier , composeFiles );
127+ }
128+
129+ public static DockerImageName getDockerImageName () {
130+ return DockerImageName .parse (
131+ TestcontainersConfiguration
132+ .getInstance ()
133+ .getEnvVarOrUserProperty ("compose.container.image" , DEFAULT_DOCKER_IMAGE )
134+ );
135+ }
136+
99137 @ Override
100138 public void start () {
101139 synchronized (MUTEX ) {
0 commit comments