/** * Check whether the image is available locally and pull it otherwise */ public void checkAndPullImage(DockerClient client, String image) { List<Image> images = client.listImagesCmd().withImageNameFilter(image).exec(); if (images.isEmpty()) { client.pullImageCmd(image).exec(new PullImageResultCallback()).awaitSuccess(); } }
@Override protected List<Image> execute(ListImagesCmd command) { WebTarget webTarget = getBaseResource().path("/images/json"); webTarget = booleanQueryParam(webTarget, "all", command.hasShowAllEnabled()); if (command.getFilters() != null && !command.getFilters().isEmpty()) { webTarget = webTarget.queryParam("filters", urlPathSegmentEscaper().escape(FiltersEncoder.jsonEncode(command.getFilters()))); } if (command.getImageNameFilter() != null) { webTarget = webTarget.queryParam("filter", urlPathSegmentEscaper().escape(command.getImageNameFilter())); } LOGGER.trace("GET: {}", webTarget); List<Image> images = webTarget.request().accept(MediaType.APPLICATION_JSON).get(new GenericType<List<Image>>() { }); LOGGER.trace("Response: {}", images); return images; }
public void getImageList(){ dockerClient.listImagesCmd().exec(); }
List<Image> listAllImages() { try { return dockerClient.listImagesCmd().withShowAll(true).exec(); } catch (RuntimeException e) { numberOfDockerDaemonFails.add(); throw new DockerException("Failed to list all images", e); } }
/** * Check whether the image is available locally and pull it otherwise */ public void checkAndPullImage(DockerClient client, String image) { List<Image> images = client.listImagesCmd().withImageNameFilter(image).exec(); if (images.isEmpty()) { client.pullImageCmd(image).exec(new PullImageResultCallback()).awaitSuccess(); } }
/** * Performs a list images request * * @param client * @param message * @return */ private ListImagesCmd executeListImagesRequest(DockerClient client, Message message) { LOGGER.debug("Executing Docker Images List Request"); ListImagesCmd listImagesCmd = client.listImagesCmd(); String filter = DockerHelper.getProperty(DockerConstants.DOCKER_FILTER, configuration, message, String.class); if (filter != null) { listImagesCmd.withLabelFilter(filter); } Boolean showAll = DockerHelper.getProperty(DockerConstants.DOCKER_SHOW_ALL, configuration, message, Boolean.class); if (showAll != null) { listImagesCmd.withShowAll(showAll); } return listImagesCmd; }
public Collection getImages(){ final DockerAPI dockerApi = theCloud.getDockerApi(); try(final DockerClient client = dockerApi.getClient()) { return client.listImagesCmd().exec(); } catch (IOException ex) { throw new RuntimeException(ex); } }
listImagesCmd = listImagesCmd.withImageNameFilter(imageName.toString()); List<Image> updatedImages = listImagesCmd.exec(); updatedImages.stream() .map(Image::getRepoTags)
private String findImageId(Id id) { String imageTag = repo.tag(id); logger.debug("Converting {} ({}) to image id.", id, imageTag); List<Image> images = docker.listImagesCmd().exec(); for (Image image : images) { if (image.getRepoTags() != null ) { for (String tag : image.getRepoTags()) { if (imageTag.contains(":") && tag.equals(imageTag) || tag.startsWith(imageTag + ":")) { logger.debug("Using {} ({}) for {}. It matches (enough) to {}.", image.getId(), tag, id, imageTag); return image.getId(); } } } } logger.debug("could not find image ID for \"" + id + "\" (tag \"" + imageTag + "\")"); return null; }
@Override protected List<Image> execute(ListImagesCmd command) { WebTarget webTarget = getBaseResource().path("/images/json"); webTarget = booleanQueryParam(webTarget, "all", command.hasShowAllEnabled()); if (command.getFilters() != null && !command.getFilters().isEmpty()) { webTarget = webTarget.queryParam("filters", FiltersEncoder.jsonEncode(command.getFilters())); } if (command.getImageNameFilter() != null) { webTarget = webTarget.queryParam("filter", command.getImageNameFilter()); } LOGGER.trace("GET: {}", webTarget); List<Image> images = webTarget.request().accept(MediaType.APPLICATION_JSON) .get(new TypeReference<List<Image>>() { }); LOGGER.trace("Response: {}", images); return images; } }
private Optional<Image> findImage(String imageName, DockerClient client) { ListImagesCmd imagesCmd = client.listImagesCmd().withImageNameFilter(imageName); List<Image> imagesList = imagesCmd.exec(); if (imagesList == null || imagesList.isEmpty()) { return Optional.empty(); } return imagesList.stream() .findFirst(); }
public ImagesAssert hasImages(String... images) { List<Image> imageList = this.client.listImagesCmd().exec(); ImagesAssert imagesAssert = new ImagesAssert(imageList); imagesAssert.containsImages(images); return imagesAssert; }
@Override protected List<Image> execute(ListImagesCmd command) { WebTarget webTarget = getBaseResource().path("/images/json"); webTarget = booleanQueryParam(webTarget, "all", command.hasShowAllEnabled()); if (command.getFilters() != null && !command.getFilters().isEmpty()) { webTarget = webTarget.queryParam("filters", urlPathSegmentEscaper().escape(FiltersEncoder.jsonEncode(command.getFilters()))); } if (command.getImageNameFilter() != null) { webTarget = webTarget.queryParam("filter", urlPathSegmentEscaper().escape(command.getImageNameFilter())); } LOGGER.trace("GET: {}", webTarget); List<Image> images = webTarget.request().accept(MediaType.APPLICATION_JSON).get(new GenericType<List<Image>>() { }); LOGGER.trace("Response: {}", images); return images; }
private void pullImageIfNeeded() { final List<Image> images = client.listImagesCmd().withImageNameFilter(image).exec(); if (images.isEmpty()) { log.info("Pulling " + image); final String[] parts = image.split(":"); client.pullImageCmd(parts[0]).withTag(parts[1]).exec(new PullImageResultCallback()).awaitSuccess(); log.info(image + " pulled"); } }
protected Boolean imageExists(String imageName, String registryTag) { List<Image> images = DockerClientFactory.build().listImagesCmd().exec(); if (images.isEmpty()) { throw new MinimesosException("Failed to find image '" + imageName + ":" + registryTag + ". No images found"); } for (Image image : images) { if (image.getRepoTags() == null) { continue; } for (String repoTag : image.getRepoTags()) { if (repoTag.equals(imageName + ":" + registryTag)) { return true; } } } return false; }
@Override protected List<Image> execute(ListImagesCmd command) { WebTarget webTarget = getBaseResource().path("/images/json"); webTarget = booleanQueryParam(webTarget, "all", command.hasShowAllEnabled()); if (command.getFilters() != null && !command.getFilters().isEmpty()) { webTarget = webTarget.queryParam("filters", FiltersEncoder.jsonEncode(command.getFilters())); } if (command.getImageNameFilter() != null) { webTarget = webTarget.queryParam("filter", command.getImageNameFilter()); } LOGGER.trace("GET: {}", webTarget); List<Image> images = webTarget.request().accept(MediaType.APPLICATION_JSON) .get(new TypeReference<List<Image>>() { }); LOGGER.trace("Response: {}", images); return images; } }
listImagesCmd = listImagesCmd.withImageNameFilter(imageName.toString()); List<Image> updatedImages = listImagesCmd.exec(); updatedImages.stream().map(Image::getRepoTags).filter(Objects::nonNull).flatMap(Stream::of).map(DockerImageName::new).collect(Collectors.toCollection(() -> AVAILABLE_IMAGE_NAME_CACHE));
break; case LIST_IMAGES: result = executeListImagesRequest(client, message).exec(); break; case REMOVE_IMAGE: