【发布时间】:2019-11-18 20:08:24
【问题描述】:
我正在使用docker-java Maven 库,我想知道是否有一种方法可以检查图像是否已被拉取或在必要时拉取之前是否存在于本地,只有图像名称。 目前,我每次执行时都必须拉取图像以确保它存在于本地,这不太好。
【问题讨论】:
标签: java docker docker-java
我正在使用docker-java Maven 库,我想知道是否有一种方法可以检查图像是否已被拉取或在必要时拉取之前是否存在于本地,只有图像名称。 目前,我每次执行时都必须拉取图像以确保它存在于本地,这不太好。
【问题讨论】:
标签: java docker docker-java
如果需要在Java中做,可以使用com.github.dockerjava.api.DockerClient接口的inspectImageCmd方法。然后检查返回的InspectImageResponse 响应对象。像这样的:
String imageId = ...;
InspectImageResponse response = dockerClient.inspectImageCmd(imageid).exec();
docker-java 只是 Docker REST API 的包装器,inspect 命令相当于GET 对/images/{imageid}/json 的http 请求。请参阅Docker Engine API 中的3.2 图片部分。
【讨论】:
404 (Not Found) HTTP 响应,该响应会被转换为NotFoundException。