
net.wouterdanes.docker.remoteapi.ImagesService Maven / Gradle / Ivy
package net.wouterdanes.docker.remoteapi;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import net.wouterdanes.docker.remoteapi.exception.DockerException;
import net.wouterdanes.docker.remoteapi.model.ImageDescriptor;
/**
* This class is responsible for talking to the Docker Remote API "images" endpoint.
See
* http://docs.docker.io/reference/api/docker_remote_api_v1.10/#22-images
*/
public class ImagesService extends BaseService {
public ImagesService(String dockerApiRoot) {
super(dockerApiRoot, "/images");
}
public String pullImage(String image) {
ImageDescriptor descriptor = new ImageDescriptor(image);
return getServiceEndPoint()
.path("create")
.queryParam("fromImage", descriptor.getImage())
.queryParam("repo", descriptor.getRepository())
.queryParam("tag", descriptor.getTag())
.queryParam("registry", descriptor.getRegistry())
.request()
.accept(MediaType.APPLICATION_JSON_TYPE)
.post(null, String.class);
}
public void deleteImage(final String imageId) {
try {
getServiceEndPoint()
.path(imageId)
.request(MediaType.APPLICATION_JSON_TYPE)
.delete(String.class);
} catch (WebApplicationException e) {
throw new DockerException("Cannot remove image", e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy