public class DefaultDockerClient extends Object implements DockerClient, Closeable
| Modifier and Type | Class and Description |
|---|---|
static class |
DefaultDockerClient.Builder |
static interface |
DefaultDockerClient.ExceptionPropagator |
DockerClient.BuildParameter, DockerClient.ListContainersParam, DockerClient.LogsParameter| Modifier and Type | Field and Description |
|---|---|
private com.sun.jersey.api.client.Client |
client |
private static com.sun.jersey.api.client.config.DefaultClientConfig |
CLIENT_CONFIG |
private static AtomicInteger |
CLIENT_COUNTER |
private InterruptibleURLConnectionClientHandler |
clientHandler |
private static com.sun.jersey.api.client.GenericType<List<Container>> |
CONTAINER_LIST |
private static Pattern |
CONTAINER_NAME_PATTERN |
private static long |
DEFAULT_CONNECT_TIMEOUT_MILLIS |
private static long |
DEFAULT_READ_TIMEOUT_MILLIS |
private ExecutorService |
executor |
private static org.slf4j.Logger |
log |
static long |
NO_TIMEOUT |
private static com.sun.jersey.api.client.GenericType<List<RemovedImage>> |
REMOVED_IMAGE_LIST |
private URI |
uri |
private static String |
VERSION |
| Modifier | Constructor and Description |
|---|---|
private |
DefaultDockerClient(DefaultDockerClient.Builder builder)
Create a new client using the configuration of the builder.
|
|
DefaultDockerClient(String uri)
Create a new client with default configuration.
|
|
DefaultDockerClient(URI uri)
Create a new client with default configuration.
|
| Modifier and Type | Method and Description |
|---|---|
String |
build(Path directory,
DockerClient.BuildParameter... params)
Build a docker image.
|
String |
build(Path directory,
ProgressHandler handler,
DockerClient.BuildParameter... params)
Build a docker image.
|
String |
build(Path directory,
String name,
DockerClient.BuildParameter... params)
Build a docker image.
|
String |
build(Path directory,
String name,
ProgressHandler handler,
DockerClient.BuildParameter... params)
Build a docker image.
|
static DefaultDockerClient.Builder |
builder()
Create a new
DefaultDockerClient builder. |
void |
close() |
ContainerCreation |
createContainer(ContainerConfig config)
Create a docker container.
|
ContainerCreation |
createContainer(ContainerConfig config,
String name)
Create a docker container.
|
Info |
info()
Get docker instance information.
|
ContainerInfo |
inspectContainer(String containerId)
Inspect a docker container.
|
ImageInfo |
inspectImage(String image)
Inspect a docker container image.
|
void |
killContainer(String containerId)
Kill a docker container.
|
List<Container> |
listContainers(DockerClient.ListContainersParam... params)
List docker containers.
|
LogStream |
logs(String containerId,
DockerClient.LogsParameter... params)
Get docker container logs.
|
private String |
message(com.sun.jersey.api.client.ClientResponse response) |
private javax.ws.rs.core.MultivaluedMap<String,String> |
multivaluedMap(com.google.common.collect.Multimap<String,String> map) |
private RuntimeException |
propagate(String method,
com.sun.jersey.api.client.WebResource resource,
com.sun.jersey.api.client.ClientHandlerException e) |
private DockerRequestException |
propagate(String method,
com.sun.jersey.api.client.WebResource resource,
com.sun.jersey.api.client.UniformInterfaceException e) |
void |
pull(String image)
Pull a docker container image.
|
void |
pull(String image,
ProgressHandler handler)
Pull a docker container image, using a custom ProgressMessageHandler
|
void |
push(String image)
Push a docker container image.
|
void |
push(String image,
ProgressHandler handler)
Push a docker container image, using a custom ProgressHandler
|
void |
removeContainer(String containerId)
Remove a docker container.
|
void |
removeContainer(String containerId,
boolean removeVolumes)
Remove a docker container.
|
List<RemovedImage> |
removeImage(String image)
Remove a docker image.
|
List<RemovedImage> |
removeImage(String image,
boolean force,
boolean noPrune)
Remove a docker image.
|
private <T> T |
request(String method,
Class<T> clazz,
com.sun.jersey.api.client.WebResource resource,
com.sun.jersey.api.client.UniformInterface request) |
private <T> T |
request(String method,
com.sun.jersey.api.client.GenericType<T> type,
com.sun.jersey.api.client.WebResource resource,
com.sun.jersey.api.client.WebResource.Builder request) |
private void |
request(String method,
com.sun.jersey.api.client.WebResource resource,
com.sun.jersey.api.client.UniformInterface request) |
private com.sun.jersey.api.client.WebResource |
resource() |
void |
startContainer(String containerId)
Start a docker container.
|
void |
startContainer(String containerId,
HostConfig hostConfig)
Start a docker container.
|
void |
tag(String image,
String name)
Tag a docker image.
|
Version |
version()
Get the docker version.
|
ContainerExit |
waitContainer(String containerId)
Wait for a docker container to exit.
|
public static final long NO_TIMEOUT
private static final long DEFAULT_CONNECT_TIMEOUT_MILLIS
private static final long DEFAULT_READ_TIMEOUT_MILLIS
private static final org.slf4j.Logger log
private static final String VERSION
private static final com.sun.jersey.api.client.config.DefaultClientConfig CLIENT_CONFIG
private static final Pattern CONTAINER_NAME_PATTERN
private static final com.sun.jersey.api.client.GenericType<List<Container>> CONTAINER_LIST
private static final com.sun.jersey.api.client.GenericType<List<RemovedImage>> REMOVED_IMAGE_LIST
private static final AtomicInteger CLIENT_COUNTER
private final ExecutorService executor
private final InterruptibleURLConnectionClientHandler clientHandler
private final com.sun.jersey.api.client.Client client
private final URI uri
public DefaultDockerClient(String uri)
uri - The docker rest api uri.public DefaultDockerClient(URI uri)
uri - The docker rest api uri.private DefaultDockerClient(DefaultDockerClient.Builder builder)
public void close()
close in interface Closeableclose in interface AutoCloseablepublic Version version() throws DockerException, InterruptedException
DockerClientversion in interface DockerClientDockerExceptionInterruptedExceptionpublic Info info() throws DockerException, InterruptedException
DockerClientinfo in interface DockerClientDockerExceptionInterruptedExceptionpublic List<Container> listContainers(DockerClient.ListContainersParam... params) throws DockerException, InterruptedException
DockerClientlistContainers in interface DockerClientparams - Container listing and filtering options.DockerExceptionInterruptedExceptionpublic ContainerCreation createContainer(ContainerConfig config) throws DockerException, InterruptedException
DockerClientcreateContainer in interface DockerClientconfig - The container configuration.ImageNotFoundException - if the image was not found (404).DockerExceptionInterruptedExceptionpublic ContainerCreation createContainer(ContainerConfig config, String name) throws DockerException, InterruptedException
DockerClientcreateContainer in interface DockerClientconfig - The container configuration.name - The container name.ImageNotFoundException - if the image was not found (404).DockerExceptionInterruptedExceptionpublic void startContainer(String containerId) throws DockerException, InterruptedException
DockerClientstartContainer in interface DockerClientcontainerId - The id of the container to start.ContainerNotFoundException - if the container was not found (404).DockerExceptionInterruptedExceptionpublic void startContainer(String containerId, HostConfig hostConfig) throws DockerException, InterruptedException
DockerClientstartContainer in interface DockerClientcontainerId - The id of the container to start.hostConfig - The docker host configuration to use when starting the container.ContainerNotFoundException - if the container was not found (404).DockerExceptionInterruptedExceptionpublic void killContainer(String containerId) throws DockerException, InterruptedException
DockerClientkillContainer in interface DockerClientcontainerId - The id of the container to kill.ContainerNotFoundException - if the container was not found (404).DockerExceptionInterruptedExceptionpublic ContainerExit waitContainer(String containerId) throws DockerException, InterruptedException
DockerClientwaitContainer in interface DockerClientcontainerId - The id of the container to wait for.ContainerNotFoundException - if the container was not found (404).DockerExceptionInterruptedExceptionpublic void removeContainer(String containerId) throws DockerException, InterruptedException
DockerClientremoveContainer in interface DockerClientcontainerId - The id of the container to remove.ContainerNotFoundException - if the container was not found (404).DockerExceptionInterruptedExceptionpublic void removeContainer(String containerId, boolean removeVolumes) throws DockerException, InterruptedException
DockerClientremoveContainer in interface DockerClientcontainerId - The id of the container to remove.removeVolumes - Whether to remove volumes as well.ContainerNotFoundException - if the container was not found (404).DockerExceptionInterruptedExceptionpublic ContainerInfo inspectContainer(String containerId) throws DockerException, InterruptedException
DockerClientinspectContainer in interface DockerClientcontainerId - The id of the container to inspect.ContainerNotFoundException - if the container was not found (404).DockerExceptionInterruptedExceptionpublic void pull(String image) throws DockerException, InterruptedException
DockerClientpull in interface DockerClientimage - The image to pull.DockerExceptionInterruptedExceptionpublic void pull(String image, ProgressHandler handler) throws DockerException, InterruptedException
DockerClientpull in interface DockerClientimage - The image to pull.handler - The handler to use for processing each progress message received from Docker.DockerExceptionInterruptedExceptionpublic void push(String image) throws DockerException, InterruptedException
DockerClientpush in interface DockerClientimage - The image to push.DockerExceptionInterruptedExceptionpublic void push(String image, ProgressHandler handler) throws DockerException, InterruptedException
DockerClientpush in interface DockerClientimage - The image to push.handler - The handler to use for processing each progress message received from Docker.DockerExceptionInterruptedExceptionpublic void tag(String image, String name) throws DockerException, InterruptedException
DockerClienttag in interface DockerClientimage - The image to tag.name - The new name that will be applied to the image.DockerExceptionInterruptedExceptionpublic String build(Path directory, DockerClient.BuildParameter... params) throws DockerException, InterruptedException, IOException
DockerClientbuild in interface DockerClientdirectory - The directory containing the dockerfile.params - Additional flags to use during build.DockerExceptionInterruptedExceptionIOExceptionpublic String build(Path directory, String name, DockerClient.BuildParameter... params) throws DockerException, InterruptedException, IOException
DockerClientbuild in interface DockerClientdirectory - The directory containing the dockerfile.name - The repository name and optional tag to apply to the built image.params - Additional flags to use during build.DockerExceptionInterruptedExceptionIOExceptionpublic String build(Path directory, ProgressHandler handler, DockerClient.BuildParameter... params) throws DockerException, InterruptedException, IOException
DockerClientbuild in interface DockerClientdirectory - The directory containing the dockerfile.handler - The handler to use for processing each progress message received from Docker.params - Additional flags to use during build.DockerExceptionInterruptedExceptionIOExceptionpublic String build(Path directory, String name, ProgressHandler handler, DockerClient.BuildParameter... params) throws DockerException, InterruptedException, IOException
DockerClientbuild in interface DockerClientdirectory - The directory containing the dockerfile.name - The repository name and optional tag to apply to the built image.handler - The handler to use for processing each progress message received from Docker.params - Additional flags to use during build.DockerExceptionInterruptedExceptionIOExceptionpublic ImageInfo inspectImage(String image) throws DockerException, InterruptedException
DockerClientinspectImage in interface DockerClientimage - The image to inspect.ImageNotFoundException - if the image was not found (404).DockerExceptionInterruptedExceptionpublic List<RemovedImage> removeImage(String image) throws DockerException, InterruptedException
DockerClientremoveImage in interface DockerClientimage - The image to remove.ImageNotFoundException - if the image was not found (404).DockerExceptionInterruptedExceptionpublic List<RemovedImage> removeImage(String image, boolean force, boolean noPrune) throws DockerException, InterruptedException
DockerClientremoveImage in interface DockerClientimage - The image to remove.force - Force image removal.noPrune - Do not delete untagged parents.ImageNotFoundException - if the image was not found (404).DockerExceptionInterruptedExceptionpublic LogStream logs(String containerId, DockerClient.LogsParameter... params) throws DockerException, InterruptedException
DockerClientlogs in interface DockerClientcontainerId - The id of the container to get logs for.params - Params for controlling what streams to get and whether to tail or not.ContainerNotFoundException - if the container was not found (404).DockerExceptionInterruptedExceptionprivate com.sun.jersey.api.client.WebResource resource()
private <T> T request(String method, com.sun.jersey.api.client.GenericType<T> type, com.sun.jersey.api.client.WebResource resource, com.sun.jersey.api.client.WebResource.Builder request) throws DockerException, InterruptedException
DockerExceptionInterruptedExceptionprivate <T> T request(String method, Class<T> clazz, com.sun.jersey.api.client.WebResource resource, com.sun.jersey.api.client.UniformInterface request) throws DockerException, InterruptedException
DockerExceptionInterruptedExceptionprivate void request(String method, com.sun.jersey.api.client.WebResource resource, com.sun.jersey.api.client.UniformInterface request) throws DockerException, InterruptedException
DockerExceptionInterruptedExceptionprivate DockerRequestException propagate(String method, com.sun.jersey.api.client.WebResource resource, com.sun.jersey.api.client.UniformInterfaceException e)
private RuntimeException propagate(String method, com.sun.jersey.api.client.WebResource resource, com.sun.jersey.api.client.ClientHandlerException e) throws DockerException, InterruptedException
DockerExceptionInterruptedExceptionprivate String message(com.sun.jersey.api.client.ClientResponse response)
private javax.ws.rs.core.MultivaluedMap<String,String> multivaluedMap(com.google.common.collect.Multimap<String,String> map)
public static DefaultDockerClient.Builder builder()
DefaultDockerClient builder.Copyright © 2014. All rights reserved.