Skip to content

Commit b0cc476

Browse files
authored
Avoid using the image name filter. Fixes #3574 (#3575)
* filter images by reference. Fixes #3574 * Use `inspectImageCmd`
1 parent 602343a commit b0cc476

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

core/src/main/java/org/testcontainers/DockerClientFactory.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.github.dockerjava.api.DockerClient;
44
import com.github.dockerjava.api.async.ResultCallback;
55
import com.github.dockerjava.api.command.CreateContainerCmd;
6+
import com.github.dockerjava.api.command.ListImagesCmd;
67
import com.github.dockerjava.api.exception.InternalServerErrorException;
78
import com.github.dockerjava.api.exception.NotFoundException;
89
import com.github.dockerjava.api.model.AccessMode;
@@ -36,6 +37,7 @@
3637
import java.io.InputStream;
3738
import java.net.URI;
3839
import java.util.ArrayList;
40+
import java.util.Arrays;
3941
import java.util.List;
4042
import java.util.Map;
4143
import java.util.Optional;
@@ -326,8 +328,9 @@ private boolean checkMountableFile() {
326328
*/
327329
@SneakyThrows
328330
public void checkAndPullImage(DockerClient client, String image) {
329-
List<Image> images = client.listImagesCmd().withImageNameFilter(image).exec();
330-
if (images.isEmpty()) {
331+
try {
332+
client.inspectImageCmd(image).exec();
333+
} catch (NotFoundException e) {
331334
client.pullImageCmd(image).exec(new TimeLimitedLoggedPullImageResultCallback(log)).awaitCompletion();
332335
}
333336
}

0 commit comments

Comments
 (0)