如何检查图像是否已存在于本地

How to check if an image is already present locally

我正在使用 docker-java Maven 库,我想知道是否有一种方法可以在必要时检查图像是否已经被拉取或是否存在于本地,只有图像名称。 目前,我每次执行时都必须拉取镜像以确保它存在于本地,这并不好。

如果需要在Java中进行,可以使用com.github.dockerjava.api.DockerClient界面的inspectImageCmd方法。然后检查返回的 InspectImageResponse 响应对象。像这样:

String imageId = ...;
InspectImageResponse response = dockerClient.inspectImageCmd(imageid).exec();

docker-java 只是 Docker REST API 的包装器,检查命令等同于 GET/images/{imageid}/json 的 http 请求。请参阅 Docker Engine API.

中的 3.2 图片 部分