Package com.spotify.docker.client
Class DefaultDockerClient
java.lang.Object
com.spotify.docker.client.DefaultDockerClient
- All Implemented Interfaces:
DockerClient
,Closeable
,AutoCloseable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
private static class
Hack: thisProgressHandler
is meant to capture the image ID of an image being built.private static class
Hack: thisProgressHandler
is meant to capture the image ID (or image digest in Docker 1.10+) of an image being created.private static class
Hack: thisProgressHandler
is meant to capture the image names of an image being loaded.private static class
Nested classes/interfaces inherited from interface com.spotify.docker.client.DockerClient
DockerClient.AttachParameter, DockerClient.BuildParam, DockerClient.EventsFilterParam, DockerClient.EventsParam, DockerClient.ExecCreateParam, DockerClient.ExecStartParameter, DockerClient.FilterParam, DockerClient.ListContainersFilterParam, DockerClient.ListContainersParam, DockerClient.ListImagesFilterParam, DockerClient.ListImagesParam, DockerClient.ListNetworksFilterParam, DockerClient.ListNetworksParam, DockerClient.ListVolumesFilterParam, DockerClient.ListVolumesParam, DockerClient.LogsParam, DockerClient.Param, DockerClient.RemoveContainerParam, DockerClient.Signal
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String
private final javax.ws.rs.client.Client
private static final javax.ws.rs.core.GenericType
<List<ContainerChange>> private static final Pattern
private static final long
private static final int
private static final long
private final org.glassfish.jersey.client.ClientConfig
private static final javax.ws.rs.core.GenericType
<Distribution> private static final javax.ws.rs.core.GenericType
<List<ImageHistory>> private static final javax.ws.rs.core.GenericType
<List<ImageSearchResult>> private static final org.slf4j.Logger
(package private) static final long
private final javax.ws.rs.client.Client
private final RegistryAuthSupplier
private static final javax.ws.rs.core.GenericType
<List<RemovedImage>> private static final String
private final URI
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Create a new client using the configuration of the builder.Create a new client with default configuration.DefaultDockerClient
(URI uri) Create a new client with default configuration.DefaultDockerClient
(URI uri, DockerCertificatesStore dockerCertificatesStore) Create a new client with default configuration. -
Method Summary
Modifier and TypeMethodDescriptionprivate javax.ws.rs.client.WebTarget
addParameters
(javax.ws.rs.client.WebTarget resource, DockerClient.Param... params) archiveContainer
(String containerId, String path) Copies an archive out of a container.private void
assertApiVersionIsAbove
(String minimumVersion) attachContainer
(String containerId, DockerClient.AttachParameter... params) Attach to the container id.int
auth
(RegistryAuth registryAuth) Check auth configuration.private String
authHeader
(RegistryAuth registryAuth) private String
authRegistryHeader
(RegistryConfigs registryConfigs) build
(Path directory, DockerClient.BuildParam... params) Build a docker image.build
(Path directory, ProgressHandler handler, DockerClient.BuildParam... params) Build a docker image.build
(Path directory, String name, DockerClient.BuildParam... params) Build a docker image.build
(Path directory, String name, ProgressHandler handler, DockerClient.BuildParam... params) Build a docker image.build
(Path directory, String name, String dockerfile, ProgressHandler handler, DockerClient.BuildParam... params) Build a docker image.static DefaultDockerClient.Builder
builder()
Create a newDefaultDockerClient
builder.private void
checkTtyParams
(Integer height, Integer width) void
close()
Closes any and all underlying connections to docker, and release resources.commitContainer
(String containerId, String repo, String tag, ContainerConfig config, String comment, String author) Create a new image from a container's changes.void
connectToNetwork
(String networkId, NetworkConnection networkConnection) Connects a docker container to a network, with extended configuration.void
connectToNetwork
(String containerId, String networkId) Connects a docker container to a network.private void
containerAction
(String containerId, String action) private void
containerAction
(String containerId, String action, javax.ws.rs.core.MultivaluedMap<String, String> queryParameters) copyContainer
(String containerId, String path) Deprecated.void
copyToContainer
(InputStream tarStream, String containerId, String path) void
copyToContainer
(Path directory, String containerId, String path) Copies some files from host to container.void
create
(String image, InputStream imagePayload) Creates a single image from a tarball.void
create
(String image, InputStream imagePayload, ProgressHandler handler) Creates a single image from a tarball.createConfig
(ConfigSpec config) Create a config.createContainer
(ContainerConfig config) Create a docker container.createContainer
(ContainerConfig config, String name) Create a docker container.createNetwork
(NetworkConfig networkConfig) Create a new network.createSecret
(SecretSpec secret) Create a secret.createService
(ServiceSpec spec) Create a new service.createService
(ServiceSpec spec, RegistryAuth config) Create a new service.createVolume
(Volume volume) void
deleteConfig
(String configId) Delete a config.void
deleteNode
(String nodeId) Remove a node from the swarm.void
deleteNode
(String nodeId, boolean force) Remove a node from the swarm.void
deleteSecret
(String secretId) Delete a secret.void
disconnectFromNetwork
(String containerId, String networkId) Disconnects a docker container to a network.void
disconnectFromNetwork
(String containerId, String networkId, boolean force) Disconnects a docker container to a network.events
(DockerClient.EventsParam... params) Watches the docker API for events.execCreate
(String containerId, String[] cmd, DockerClient.ExecCreateParam... params) Sets up an exec instance in a running container id.execInspect
(String execId) Inspects a running or previously run exec instance id.void
execResizeTty
(String execId, Integer height, Integer width) Resizes the tty session used by an exec command.execStart
(String execId, DockerClient.ExecStartParameter... params) Starts a previously set up exec instance id.exportContainer
(String containerId) Export a docker container as a tar archive.static DefaultDockerClient.Builder
fromEnv()
Create a newDefaultDockerClient
builder prepopulated with values loaded from the DOCKER_HOST and DOCKER_CERT_PATH environment variables.(package private) javax.ws.rs.client.Client
private org.apache.http.impl.conn.PoolingHttpClientConnectionManager
getDistribution
(String imageName) Get the distribution of a container.getHost()
Get the Docker host address.private LogStream
getLogStream
(String method, javax.ws.rs.client.WebTarget resource, String containerId) (package private) javax.ws.rs.client.Client
getQueryParamMap
(javax.ws.rs.client.WebTarget resource) private org.apache.http.config.Registry
<org.apache.http.conn.socket.ConnectionSocketFactory> private LogStream
getServiceLogStream
(String method, javax.ws.rs.client.WebTarget resource, String serviceId) private javax.ws.rs.client.Invocation.Builder
headers
(javax.ws.rs.client.Invocation.Builder request) Return the history of the image.info()
Get docker instance information.Initialize a new swarm.inspectConfig
(String configId) Inspect a config.inspectContainer
(String containerId) Inspect a docker container.inspectContainerChanges
(String containerId) Inspect changes on a container's filesystem.inspectImage
(String image) Inspect a docker container image.inspectNetwork
(String networkId) Inspect a specific network.inspectNode
(String nodeId) Inspects a swarm node.inspectSecret
(String secretId) Inspect a secret.inspectService
(String serviceId) Inspect an existing service.Inspect the swarm.inspectTask
(String taskId) Inspect an existing task.inspectVolume
(String volumeName) void
Join an existing swarm.void
killContainer
(String containerId) Kill a docker container.void
killContainer
(String containerId, DockerClient.Signal signal) Kill a docker container.void
Leave a swarm.void
leaveSwarm
(boolean force) Leave a swarm forcefully.List swarm configs.listConfigs
(Config.Criteria criteria) List swarm configs.listContainers
(DockerClient.ListContainersParam... params) List docker containers.listImages
(DockerClient.ListImagesParam... params) List docker images.listNetworks
(DockerClient.ListNetworksParam... params) List all or a subset of the networks.List swarm nodes.listNodes
(Node.Criteria criteria) List swarm nodes that match the given criteria.List secrets.List all services.listServices
(Service.Criteria criteria) List services that match the given criteria.List all tasks.listTasks
(Task.Criteria criteria) List tasks that match the given criteria.listVolumes
(DockerClient.ListVolumesParam... params) load
(InputStream imagePayload) Load a set of images and tags from a tarball.load
(InputStream imagePayload, ProgressHandler handler) Load a set of images and tags from a tarball, using a custom ProgressMessageHandler.void
load
(String image, InputStream imagePayload) Deprecated.void
load
(String image, InputStream imagePayload, ProgressHandler handler) Deprecated.logs
(String containerId, DockerClient.LogsParam... params) Get docker container logs.private String
message
(javax.ws.rs.core.Response response) private javax.ws.rs.client.WebTarget
void
pauseContainer
(String containerId) Pause a docker container.ping()
Ping the docker daemon.private RuntimeException
void
Pull a docker container image.void
pull
(String image, RegistryAuth registryAuth) Pull a private docker container image.void
pull
(String image, RegistryAuth registryAuth, ProgressHandler handler) Pull a private docker container image, using a custom ProgressMessageHandler.void
pull
(String image, ProgressHandler handler) Pull a docker container image, using a custom ProgressMessageHandlervoid
Push a docker container image.void
push
(String image, RegistryAuth registryAuth) void
push
(String image, ProgressHandler handler) Push a docker container image, using a custom ProgressHandlervoid
push
(String image, ProgressHandler handler, RegistryAuth registryAuth) void
removeContainer
(String containerId) Remove a docker container.void
removeContainer
(String containerId, boolean removeVolumes) Deprecated.void
removeContainer
(String containerId, DockerClient.RemoveContainerParam... params) Remove a docker container.removeImage
(String image) Remove a docker image.removeImage
(String image, boolean force, boolean noPrune) Remove a docker image.void
removeNetwork
(String networkId) Remove a docker network.void
removeService
(String serviceId) Remove an existing service.void
removeVolume
(Volume volume) void
removeVolume
(String volumeName) void
renameContainer
(String containerId, String name) Rename a docker container.private <T> T
request
(String method, Class<T> clazz, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request) private <T> T
request
(String method, Class<T> clazz, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request, javax.ws.rs.client.Entity<?> entity) private void
request
(String method, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request) private <T> T
request
(String method, javax.ws.rs.core.GenericType<T> type, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request) private void
requestAndTail
(String method, ProgressHandler handler, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request) private void
requestAndTail
(String method, ProgressHandler handler, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request, javax.ws.rs.client.Entity<?> entity) void
Resize container TTY This API is valid only iftty
was specified as part ofcreating
the container.private javax.ws.rs.client.WebTarget
resource()
void
restartContainer
(String containerId) Restart a docker container.void
restartContainer
(String containerId, int secondsToWaitBeforeRestart) Restart a docker container.Get a tarball containing all images and metadata for the repository specified.saveMultiple
(String... images) Get a tarball containing all images and metadata for one or more repositories.searchImages
(String term) Search for images on Docker HubserviceLogs
(String serviceId, DockerClient.LogsParam... params) Get docker service logs.void
startContainer
(String containerId) Start a docker container.Retrieves one-time stats (stream=0) for the container with the specified id.void
stopContainer
(String containerId, int secondsToWaitBeforeKilling) Stop a docker container by sending a SIGTERM, and following up with a SIGKILL if the container doesn't exit gracefully and in a timely manner.void
Tag a docker image.void
Tag a docker image.private void
tailResponse
(String method, javax.ws.rs.core.Response response, ProgressHandler handler, javax.ws.rs.client.WebTarget resource) topContainer
(String containerId) List processes running inside the container by usingps
.topContainer
(String containerId, String psArgs) List processes running inside the container usingps
and the given arguments.private String
void
Unlock a swarm.Get an unlock key for unlocking a swarm.void
unpauseContainer
(String containerId) Unpause a docker container.void
updateConfig
(String configId, Long version, ConfigSpec nodeSpec) Update a swarm config.updateContainer
(String containerId, HostConfig config) Update an existing container.void
updateNode
(String nodeId, Long version, NodeSpec nodeSpec) Update a swarm node.private org.glassfish.jersey.client.ClientConfig
updateProxy
(org.glassfish.jersey.client.ClientConfig config, DefaultDockerClient.Builder builder) void
updateService
(String serviceId, Long version, ServiceSpec spec) Update an existing service.void
updateService
(String serviceId, Long version, ServiceSpec spec, RegistryAuth config) Update an existing service.void
updateSwarm
(Long version, boolean rotateWorkerToken, boolean rotateManagerToken, boolean rotateManagerUnlockKey, SwarmSpec spec) Update a swarm.void
updateSwarm
(Long version, boolean rotateWorkerToken, boolean rotateManagerToken, SwarmSpec spec) Update a swarm.void
updateSwarm
(Long version, boolean rotateWorkerToken, SwarmSpec spec) Update a swarm.void
updateSwarm
(Long version, SwarmSpec spec) Update a swarm.private String
URL-encodes a string when used as a URL query parameter's value.private String
urlEncodeFilters
(Map<String, List<String>> filters) Takes a map of filters and URL-encodes them.version()
Get the docker version.waitContainer
(String containerId) Wait for a docker container to exit.
-
Field Details
-
UNIX_SCHEME
- See Also:
-
log
private static final org.slf4j.Logger log -
NO_TIMEOUT
static final long NO_TIMEOUT- See Also:
-
DEFAULT_CONNECT_TIMEOUT_MILLIS
private static final long DEFAULT_CONNECT_TIMEOUT_MILLIS -
DEFAULT_READ_TIMEOUT_MILLIS
private static final long DEFAULT_READ_TIMEOUT_MILLIS -
DEFAULT_CONNECTION_POOL_SIZE
private static final int DEFAULT_CONNECTION_POOL_SIZE- See Also:
-
defaultConfig
private final org.glassfish.jersey.client.ClientConfig defaultConfig -
CONTAINER_NAME_PATTERN
-
CONTAINER_LIST
-
CONTAINER_CHANGE_LIST
-
IMAGE_LIST
-
NETWORK_LIST
-
IMAGES_SEARCH_RESULT_LIST
private static final javax.ws.rs.core.GenericType<List<ImageSearchResult>> IMAGES_SEARCH_RESULT_LIST -
REMOVED_IMAGE_LIST
-
IMAGE_HISTORY_LIST
-
SERVICE_LIST
-
DISTRIBUTION
-
TASK_LIST
-
NODE_LIST
-
CONFIG_LIST
-
SECRET_LIST
-
client
private final javax.ws.rs.client.Client client -
noTimeoutClient
private final javax.ws.rs.client.Client noTimeoutClient -
uri
-
apiVersion
-
registryAuthSupplier
-
headers
-
-
Constructor Details
-
DefaultDockerClient
Create a new client with default configuration.- Parameters:
uri
- The docker rest api uri.
-
DefaultDockerClient
Create a new client with default configuration.- Parameters:
uri
- The docker rest api uri.
-
DefaultDockerClient
Create a new client with default configuration.- Parameters:
uri
- The docker rest api uri.dockerCertificatesStore
- The certificates to use for HTTPS.
-
DefaultDockerClient
Create a new client using the configuration of the builder.- Parameters:
builder
- DefaultDockerClient builder
-
-
Method Details
-
getClient
javax.ws.rs.client.Client getClient() -
getNoTimeoutClient
javax.ws.rs.client.Client getNoTimeoutClient() -
updateProxy
private org.glassfish.jersey.client.ClientConfig updateProxy(org.glassfish.jersey.client.ClientConfig config, DefaultDockerClient.Builder builder) -
toRegExp
-
getHost
Description copied from interface:DockerClient
Get the Docker host address.- Specified by:
getHost
in interfaceDockerClient
- Returns:
- the docker host name or IP
-
getConnectionManager
private org.apache.http.impl.conn.PoolingHttpClientConnectionManager getConnectionManager(DefaultDockerClient.Builder builder) -
getSchemeRegistry
private org.apache.http.config.Registry<org.apache.http.conn.socket.ConnectionSocketFactory> getSchemeRegistry(DefaultDockerClient.Builder builder) -
close
public void close()Description copied from interface:DockerClient
Closes any and all underlying connections to docker, and release resources.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceDockerClient
-
ping
Description copied from interface:DockerClient
Ping the docker daemon. Returns "OK" if all is well, though that it simply returns a 200 status is probably sufficient information.- Specified by:
ping
in interfaceDockerClient
- Returns:
- String "OK"
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
version
Description copied from interface:DockerClient
Get the docker version.- Specified by:
version
in interfaceDockerClient
- Returns:
- docker version
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
auth
Description copied from interface:DockerClient
Check auth configuration.- Specified by:
auth
in interfaceDockerClient
- Parameters:
registryAuth
- TheRegistryAuth
needed to pull the image.- Returns:
- status code of auth request
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
info
Description copied from interface:DockerClient
Get docker instance information.- Specified by:
info
in interfaceDockerClient
- Returns:
- docker info
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listContainers
public List<Container> listContainers(DockerClient.ListContainersParam... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
List docker containers.- Specified by:
listContainers
in interfaceDockerClient
- Parameters:
params
- Container listing and filtering options.- Returns:
- A list of containers.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
addParameters
private javax.ws.rs.client.WebTarget addParameters(javax.ws.rs.client.WebTarget resource, DockerClient.Param... params) throws DockerException - Throws:
DockerException
-
getQueryParamMap
-
urlEncode
URL-encodes a string when used as a URL query parameter's value.- Parameters:
unencoded
- A string that may contain characters not allowed in URL query parameters.- Returns:
- URL-encoded String
- Throws:
DockerException
- if there's an UnsupportedEncodingException
-
urlEncodeFilters
Takes a map of filters and URL-encodes them. If the map is empty or an exception occurs, return null.- Parameters:
filters
- A map of filters.- Returns:
- String
- Throws:
DockerException
- if there's an IOException
-
listImages
public List<Image> listImages(DockerClient.ListImagesParam... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
List docker images.- Specified by:
listImages
in interfaceDockerClient
- Parameters:
params
- Image listing and filtering options.- Returns:
- A list of images.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
createContainer
public ContainerCreation createContainer(ContainerConfig config) throws DockerException, InterruptedException Description copied from interface:DockerClient
Create a docker container.- Specified by:
createContainer
in interfaceDockerClient
- Parameters:
config
- The container configuration.- Returns:
- Container creation result with container id and eventual warnings from docker.
- Throws:
DockerException
- if logs cannot be attached, because container is not running (406), or if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
createContainer
public ContainerCreation createContainer(ContainerConfig config, String name) throws DockerException, InterruptedException Description copied from interface:DockerClient
Create a docker container.- Specified by:
createContainer
in interfaceDockerClient
- Parameters:
config
- The container configuration.name
- The container name.- Returns:
- Container creation result with container id and eventual warnings from docker.
- Throws:
DockerException
- if logs cannot be attached, because container is not running (406), or if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
startContainer
Description copied from interface:DockerClient
Start a docker container.- Specified by:
startContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to start.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
containerAction
private void containerAction(String containerId, String action) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
containerAction
private void containerAction(String containerId, String action, javax.ws.rs.core.MultivaluedMap<String, String> queryParameters) throws DockerException, InterruptedException- Throws:
DockerException
InterruptedException
-
pauseContainer
Description copied from interface:DockerClient
Pause a docker container.- Specified by:
pauseContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to pause.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
unpauseContainer
Description copied from interface:DockerClient
Unpause a docker container.- Specified by:
unpauseContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to pause.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
restartContainer
Description copied from interface:DockerClient
Restart a docker container. with a 10 second default wait- Specified by:
restartContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to restart.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
restartContainer
public void restartContainer(String containerId, int secondsToWaitBeforeRestart) throws DockerException, InterruptedException Description copied from interface:DockerClient
Restart a docker container.- Specified by:
restartContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to restart.secondsToWaitBeforeRestart
- number of seconds to wait before killing the container.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
killContainer
Description copied from interface:DockerClient
Kill a docker container. Note: by default SIGKILL is sent.- Specified by:
killContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to kill.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
killContainer
public void killContainer(String containerId, DockerClient.Signal signal) throws DockerException, InterruptedException Description copied from interface:DockerClient
Kill a docker container.- Specified by:
killContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to kill.signal
- Signal used to kill the process.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
getDistribution
Description copied from interface:DockerClient
Get the distribution of a container.- Specified by:
getDistribution
in interfaceDockerClient
- Parameters:
imageName
- The name of the container.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
stopContainer
public void stopContainer(String containerId, int secondsToWaitBeforeKilling) throws DockerException, InterruptedException Description copied from interface:DockerClient
Stop a docker container by sending a SIGTERM, and following up with a SIGKILL if the container doesn't exit gracefully and in a timely manner.- Specified by:
stopContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to stop.secondsToWaitBeforeKilling
- Time to wait after SIGTERM before sending SIGKILL.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
waitContainer
Description copied from interface:DockerClient
Wait for a docker container to exit.- Specified by:
waitContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to wait for.- Returns:
- Exit response with status code.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeContainer
Description copied from interface:DockerClient
Remove a docker container.- Specified by:
removeContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to remove.- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeContainer
@Deprecated public void removeContainer(String containerId, boolean removeVolumes) throws DockerException, InterruptedException Deprecated.Description copied from interface:DockerClient
Remove a docker container.- Specified by:
removeContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to remove.removeVolumes
- Whether to remove volumes as well.- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeContainer
public void removeContainer(String containerId, DockerClient.RemoveContainerParam... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
Remove a docker container.- Specified by:
removeContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to remove.params
-DockerClient.RemoveContainerParam
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
exportContainer
Description copied from interface:DockerClient
Export a docker container as a tar archive.- Specified by:
exportContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to export.- Returns:
- A stream in tar format that contains the contents of the container file system.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
copyContainer
@Deprecated public InputStream copyContainer(String containerId, String path) throws DockerException, InterruptedException Deprecated.Description copied from interface:DockerClient
Copies some files out of a container. (removed on API version 1.24)- Specified by:
copyContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to copy files from.path
- The path inside of the container to copy. If this is a directory, it will be copied recursively. If this is a file, only that file will be copied.- Returns:
- A stream in tar format that contains the copied files. If a directory was copied, the
directory will be at the root of the tar archive (so
copy(..., "/usr/share")
will result in a directory calledshare
in the tar archive). The directory name is completely resolved, so copying"/usr/share/././."
will still create a directory called"share"
in the tar archive. If a single file was copied, that file will be the sole entry in the tar archive. Copying"."
or equivalently"/"
will result in the tar archive containing a single folder named after the container ID. - Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
archiveContainer
public InputStream archiveContainer(String containerId, String path) throws DockerException, InterruptedException Description copied from interface:DockerClient
Copies an archive out of a container. (API version 1.20+)- Specified by:
archiveContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to copy files from.path
- The path inside of the container to copy. If this is a directory, it will be copied recursively. If this is a file, only that file will be copied.- Returns:
- A stream in tar format that contains the copied files. If a directory was copied, the
directory will be at the root of the tar archive (so
copy(..., "/usr/share")
will result in a directory calledshare
in the tar archive). The directory name is completely resolved, so copying"/usr/share/././."
will still create a directory called"share"
in the tar archive. If a single file was copied, that file will be the sole entry in the tar archive. Copying"."
or equivalently"/"
will result in the tar archive containing a single folder named after the container ID. - Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
topContainer
Description copied from interface:DockerClient
List processes running inside the container by usingps
.- Specified by:
topContainer
in interfaceDockerClient
- Parameters:
containerId
- the id of the container to examine- Returns:
- the titles and process list for the container
- Throws:
DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.
-
topContainer
public TopResults topContainer(String containerId, String psArgs) throws DockerException, InterruptedException Description copied from interface:DockerClient
List processes running inside the container usingps
and the given arguments.- Specified by:
topContainer
in interfaceDockerClient
- Parameters:
containerId
- the id of the container to examinepsArgs
- the arguments to pass tops
inside the container, e.g.,"-ef"
- Returns:
- the titles and process list for the container
- Throws:
DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.
-
copyToContainer
public void copyToContainer(Path directory, String containerId, String path) throws DockerException, InterruptedException, IOException Description copied from interface:DockerClient
Copies some files from host to container. (API version 1.20+)- Specified by:
copyToContainer
in interfaceDockerClient
- Parameters:
directory
- The path to sent to containercontainerId
- The id of the container to sent files.path
- The path inside of the container to put files.- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If IOException
-
copyToContainer
public void copyToContainer(InputStream tarStream, String containerId, String path) throws DockerException, InterruptedException - Specified by:
copyToContainer
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
inspectContainerChanges
public List<ContainerChange> inspectContainerChanges(String containerId) throws DockerException, InterruptedException Description copied from interface:DockerClient
Inspect changes on a container's filesystem.- Specified by:
inspectContainerChanges
in interfaceDockerClient
- Parameters:
containerId
- The id of the container.- Returns:
- A list of the changes to the container file system.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectContainer
public ContainerInfo inspectContainer(String containerId) throws DockerException, InterruptedException Description copied from interface:DockerClient
Inspect a docker container.- Specified by:
inspectContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to inspect.- Returns:
- Info about the container.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
commitContainer
public ContainerCreation commitContainer(String containerId, String repo, String tag, ContainerConfig config, String comment, String author) throws DockerException, InterruptedException Description copied from interface:DockerClient
Create a new image from a container's changes.- Specified by:
commitContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to commit.repo
- repository to commit to.tag
- image tag.config
- ContainerConfig to commit.comment
- commit message.author
- image author.- Returns:
- ContainerCreation reply.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
renameContainer
public void renameContainer(String containerId, String name) throws DockerException, InterruptedException Description copied from interface:DockerClient
Rename a docker container.- Specified by:
renameContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to rename.name
- The new name the container will have- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateContainer
public ContainerUpdate updateContainer(String containerId, HostConfig config) throws DockerException, InterruptedException Description copied from interface:DockerClient
Update an existing container. Only available in Docker API >= 1.22.- Specified by:
updateContainer
in interfaceDockerClient
- Parameters:
containerId
- the identifier of the containerconfig
- the new container host config- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
searchImages
public List<ImageSearchResult> searchImages(String term) throws DockerException, InterruptedException Description copied from interface:DockerClient
Search for images on Docker HubThis method is broken for Docker 1.7.x because of a Docker bug. See https://github.com/docker/docker/pull/14850.
- Specified by:
searchImages
in interfaceDockerClient
- Parameters:
term
- the search term- Returns:
- a list of matches for the given search term
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
load
@Deprecated public void load(String image, InputStream imagePayload) throws DockerException, InterruptedException Deprecated.Description copied from interface:DockerClient
Creates a single image from a tarball. This method also tags the image with the given image name upon loading completion.- Specified by:
load
in interfaceDockerClient
- Parameters:
image
- the name to assign to the image.imagePayload
- the image's payload (i.e.: the stream corresponding to the image's .tar file).- Throws:
DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.
-
load
@Deprecated public void load(String image, InputStream imagePayload, ProgressHandler handler) throws DockerException, InterruptedException Deprecated.Description copied from interface:DockerClient
Creates a single image from a tarball. This method also tags the image with the given image name upon loading completion.- Specified by:
load
in interfaceDockerClient
- Parameters:
image
- the name to assign to the image.imagePayload
- the image's payload (i.e.: the stream corresponding to the image's .tar file).handler
- The handler to use for processing each progress message received from Docker.- Throws:
DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.
-
load
Description copied from interface:DockerClient
Load a set of images and tags from a tarball.- Specified by:
load
in interfaceDockerClient
- Parameters:
imagePayload
- the image's payload (i.e.: the stream corresponding to the image's .tar file).- Returns:
- a set of all loaded images
- Throws:
DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.
-
load
public Set<String> load(InputStream imagePayload, ProgressHandler handler) throws DockerException, InterruptedException Description copied from interface:DockerClient
Load a set of images and tags from a tarball, using a custom ProgressMessageHandler.- Specified by:
load
in interfaceDockerClient
- Parameters:
imagePayload
- the image's payload (i.e.: the stream corresponding to the image's .tar file).handler
- The handler to use for processing each progress message received from Docker.- Returns:
- a set of all loaded images
- Throws:
DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.
-
create
public void create(String image, InputStream imagePayload) throws DockerException, InterruptedException Description copied from interface:DockerClient
Creates a single image from a tarball. This method also tags the image with the given image name upon loading completion.- Specified by:
create
in interfaceDockerClient
- Parameters:
image
- the name to assign to the image.imagePayload
- the image's payload (i.e.: the stream corresponding to the image's .tar file).- Throws:
DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.
-
create
public void create(String image, InputStream imagePayload, ProgressHandler handler) throws DockerException, InterruptedException Description copied from interface:DockerClient
Creates a single image from a tarball. This method also tags the image with the given image name upon loading completion.- Specified by:
create
in interfaceDockerClient
- Parameters:
image
- the name to assign to the image.imagePayload
- the image's payload (i.e.: the stream corresponding to the image's .tar file).handler
- The handler to use for processing each progress message received from Docker.- Throws:
DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.
-
save
Description copied from interface:DockerClient
Get a tarball containing all images and metadata for the repository specified.- Specified by:
save
in interfaceDockerClient
- Parameters:
images
- the name(s) of one or more images to save. If a specific name and tag (e.g. ubuntu:latest), then only that image (and its parents) are returned. If an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the 'repositories' file in the tarball, as there were no image names referenced.- Returns:
- the images' .tar streams.
- Throws:
DockerException
- if a server error occurred (500).IOException
- if the server started returning, but an I/O error occurred in the context of processing it on the client-side.InterruptedException
- if the thread is interrupted.
-
saveMultiple
public InputStream saveMultiple(String... images) throws DockerException, IOException, InterruptedException Description copied from interface:DockerClient
Get a tarball containing all images and metadata for one or more repositories.- Specified by:
saveMultiple
in interfaceDockerClient
- Parameters:
images
- the name or id of the image to save. if it is a specific name and tag (e.g. ubuntu:latest), then only that image (and its parents) are returned; if it is an image ID, similarly only that image (and its parents) are returned and there would be no names referenced in the 'repositories' file for this image ID.- Returns:
- a tar stream containing the image(s)
- Throws:
DockerException
- if a server error occurred (500).IOException
- if the server started returning, but an I/O error occurred in the context of processing it on the client-side.InterruptedException
- if the thread is interrupted.
-
pull
Description copied from interface:DockerClient
Pull a docker container image.- Specified by:
pull
in interfaceDockerClient
- Parameters:
image
- The image to pull.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
pull
public void pull(String image, ProgressHandler handler) throws DockerException, InterruptedException Description copied from interface:DockerClient
Pull a docker container image, using a custom ProgressMessageHandler- Specified by:
pull
in interfaceDockerClient
- Parameters:
image
- The image to pull.handler
- The handler to use for processing each progress message received from Docker.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
pull
public void pull(String image, RegistryAuth registryAuth) throws DockerException, InterruptedException Description copied from interface:DockerClient
Pull a private docker container image.- Specified by:
pull
in interfaceDockerClient
- Parameters:
image
- The image to pull.registryAuth
- TheRegistryAuth
needed to pull the image.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
pull
public void pull(String image, RegistryAuth registryAuth, ProgressHandler handler) throws DockerException, InterruptedException Description copied from interface:DockerClient
Pull a private docker container image, using a custom ProgressMessageHandler.- Specified by:
pull
in interfaceDockerClient
- Parameters:
image
- The image to pull.registryAuth
- TheRegistryAuth
needed to pull the image.handler
- The handler to use for processing each progress message received from Docker.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
push
Description copied from interface:DockerClient
Push a docker container image.- Specified by:
push
in interfaceDockerClient
- Parameters:
image
- The image to push.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
push
public void push(String image, RegistryAuth registryAuth) throws DockerException, InterruptedException - Specified by:
push
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
push
public void push(String image, ProgressHandler handler) throws DockerException, InterruptedException Description copied from interface:DockerClient
Push a docker container image, using a custom ProgressHandler- Specified by:
push
in interfaceDockerClient
- Parameters:
image
- The image to push.handler
- The handler to use for processing each progress message received from Docker.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
push
public void push(String image, ProgressHandler handler, RegistryAuth registryAuth) throws DockerException, InterruptedException - Specified by:
push
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
tag
Description copied from interface:DockerClient
Tag a docker image.- Specified by:
tag
in interfaceDockerClient
- Parameters:
image
- The image to tag.name
- The new name that will be applied to the image.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
tag
public void tag(String image, String name, boolean force) throws DockerException, InterruptedException Description copied from interface:DockerClient
Tag a docker image.- Specified by:
tag
in interfaceDockerClient
- Parameters:
image
- The image to tag.name
- The new name that will be applied to the image.force
- Whether to force the tagging even if the tag is already assigned to another image.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
build
public String build(Path directory, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Description copied from interface:DockerClient
Build a docker image.- Specified by:
build
in interfaceDockerClient
- Parameters:
directory
- The directory containing the dockerfile.params
- Additional flags to use during build.- Returns:
- The id of the built image if successful, otherwise null.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.
-
build
public String build(Path directory, String name, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Description copied from interface:DockerClient
Build a docker image.- Specified by:
build
in interfaceDockerClient
- Parameters:
directory
- 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.- Returns:
- The id of the built image if successful, otherwise null.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.
-
build
public String build(Path directory, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Description copied from interface:DockerClient
Build a docker image.- Specified by:
build
in interfaceDockerClient
- Parameters:
directory
- 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.- Returns:
- The id of the built image if successful, otherwise null.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.
-
build
public String build(Path directory, String name, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Description copied from interface:DockerClient
Build a docker image.- Specified by:
build
in interfaceDockerClient
- Parameters:
directory
- 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.- Returns:
- The id of the built image if successful, otherwise null.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.
-
build
public String build(Path directory, String name, String dockerfile, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Description copied from interface:DockerClient
Build a docker image.- Specified by:
build
in interfaceDockerClient
- Parameters:
directory
- The directory containing the dockerfile.name
- The repository name and optional tag to apply to the built image.dockerfile
- The path within the build context to the Dockerfilehandler
- The handler to use for processing each progress message received from Docker.params
- Additional flags to use during build.- Returns:
- The id of the built image if successful, otherwise null.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.
-
inspectImage
Description copied from interface:DockerClient
Inspect a docker container image.- Specified by:
inspectImage
in interfaceDockerClient
- Parameters:
image
- The image to inspect.- Returns:
- Info about the image.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeImage
Description copied from interface:DockerClient
Remove a docker image.- Specified by:
removeImage
in interfaceDockerClient
- Parameters:
image
- The image to remove.- Returns:
- A list describing each image which was removed.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeImage
public List<RemovedImage> removeImage(String image, boolean force, boolean noPrune) throws DockerException, InterruptedException Description copied from interface:DockerClient
Remove a docker image.- Specified by:
removeImage
in interfaceDockerClient
- Parameters:
image
- The image to remove.force
- Force image removal.noPrune
- Do not delete untagged parents.- Returns:
- A list describing each image which was removed.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
history
Description copied from interface:DockerClient
Return the history of the image.- Specified by:
history
in interfaceDockerClient
- Parameters:
image
- An image name or ID.- Returns:
- A List of
ImageHistory
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
logs
public LogStream logs(String containerId, DockerClient.LogsParam... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
Get docker container logs.- Specified by:
logs
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to get logs for.params
- Params for controlling what streams to get and whether to tail or not.- Returns:
- A log message stream.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
events
public EventStream events(DockerClient.EventsParam... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
Watches the docker API for events.This method is broken for Docker 1.7.x because of a Docker bug. See https://github.com/docker/docker/issues/14354.
- Specified by:
events
in interfaceDockerClient
- Parameters:
params
- The parameters to apply to the events request- Returns:
- An event stream
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
attachContainer
public LogStream attachContainer(String containerId, DockerClient.AttachParameter... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
Attach to the container id.- Specified by:
attachContainer
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to get logs for.params
- Params for controlling what streams to get and whether to tail or not.- Returns:
- A log message stream.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
getLogStream
private LogStream getLogStream(String method, javax.ws.rs.client.WebTarget resource, String containerId) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
getServiceLogStream
private LogStream getServiceLogStream(String method, javax.ws.rs.client.WebTarget resource, String serviceId) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
execCreate
public ExecCreation execCreate(String containerId, String[] cmd, DockerClient.ExecCreateParam... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
Sets up an exec instance in a running container id.- Specified by:
execCreate
in interfaceDockerClient
- Parameters:
containerId
- The id of the containercmd
- shell commandparams
- Exec params- Returns:
ExecCreation
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
execStart
public LogStream execStart(String execId, DockerClient.ExecStartParameter... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
Starts a previously set up exec instance id. If detach is true, this API returns after starting the exec command. Otherwise, this API sets up an interactive session with the exec command.- Specified by:
execStart
in interfaceDockerClient
- Parameters:
execId
- exec idparams
- Exec start params- Returns:
- exec output
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectSwarm
Description copied from interface:DockerClient
Inspect the swarm. Only available in Docker API >= 1.24.- Specified by:
inspectSwarm
in interfaceDockerClient
- Returns:
- Info about a swarm
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
initSwarm
Description copied from interface:DockerClient
Initialize a new swarm. Only available in Docker API >= 1.24.- Specified by:
initSwarm
in interfaceDockerClient
- Returns:
- Node ID
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
joinSwarm
Description copied from interface:DockerClient
Join an existing swarm. Only available in Docker API >= 1.24.- Specified by:
joinSwarm
in interfaceDockerClient
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
leaveSwarm
Description copied from interface:DockerClient
Leave a swarm. Only available in Docker API >= 1.24.- Specified by:
leaveSwarm
in interfaceDockerClient
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
leaveSwarm
Description copied from interface:DockerClient
Leave a swarm forcefully. Only available in Docker API >= 1.24. Force leave swarm, even if this is the last manager or if leaving will break the cluster.- Specified by:
leaveSwarm
in interfaceDockerClient
- Parameters:
force
- Whether to leave forcefully- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateSwarm
public void updateSwarm(Long version, boolean rotateWorkerToken, boolean rotateManagerToken, boolean rotateManagerUnlockKey, SwarmSpec spec) throws DockerException, InterruptedException Description copied from interface:DockerClient
Update a swarm. Only available in Docker API >= 1.24.- Specified by:
updateSwarm
in interfaceDockerClient
- Parameters:
version
- The version number of the swarm object being updated. This is required to avoid conflicting writes.rotateWorkerToken
- Set to true to rotate the worker join token.rotateManagerToken
- Set to true to rotate the worker join token.rotateManagerUnlockKey
- Set to true to rotate the manager unlock key.spec
-SwarmSpec
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateSwarm
public void updateSwarm(Long version, boolean rotateWorkerToken, boolean rotateManagerToken, SwarmSpec spec) throws DockerException, InterruptedException Description copied from interface:DockerClient
Update a swarm. Only available in Docker API >= 1.24.- Specified by:
updateSwarm
in interfaceDockerClient
- Parameters:
version
- The version number of the swarm object being updated. This is required to avoid conflicting writes.rotateWorkerToken
- Set to true to rotate the worker join token.rotateManagerToken
- Set to true to rotate the worker join token.spec
-SwarmSpec
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateSwarm
public void updateSwarm(Long version, boolean rotateWorkerToken, SwarmSpec spec) throws DockerException, InterruptedException Description copied from interface:DockerClient
Update a swarm. Only available in Docker API >= 1.24.- Specified by:
updateSwarm
in interfaceDockerClient
- Parameters:
version
- The version number of the swarm object being updated. This is required to avoid conflicting writes.rotateWorkerToken
- Set to true to rotate the worker join token.spec
-SwarmSpec
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateSwarm
Description copied from interface:DockerClient
Update a swarm. Only available in Docker API >= 1.24.- Specified by:
updateSwarm
in interfaceDockerClient
- Parameters:
version
- The version number of the swarm object being updated. This is required to avoid conflicting writes.spec
-SwarmSpec
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
unlockKey
Description copied from interface:DockerClient
Get an unlock key for unlocking a swarm. Only available in Docker API >= 1.25.- Specified by:
unlockKey
in interfaceDockerClient
- Returns:
UnlockKey
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
unlock
Description copied from interface:DockerClient
Unlock a swarm. Only available in Docker API >= 1.25.- Specified by:
unlock
in interfaceDockerClient
- Parameters:
unlockKey
-UnlockKey
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
createService
public ServiceCreateResponse createService(ServiceSpec spec) throws DockerException, InterruptedException Description copied from interface:DockerClient
Create a new service. Only available in Docker API >= 1.24.- Specified by:
createService
in interfaceDockerClient
- Parameters:
spec
- the service spec- Returns:
- Service creation result with service id.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
createService
public ServiceCreateResponse createService(ServiceSpec spec, RegistryAuth config) throws DockerException, InterruptedException Description copied from interface:DockerClient
Create a new service. Only available in Docker API >= 1.24.- Specified by:
createService
in interfaceDockerClient
- Parameters:
spec
- the service specconfig
- the registry authentication configuration- Returns:
- Service creation result with service id.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectService
Description copied from interface:DockerClient
Inspect an existing service. Only available in Docker API >= 1.24.- Specified by:
inspectService
in interfaceDockerClient
- Parameters:
serviceId
- the id of the service to inspect- Returns:
- Info about the service
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateService
public void updateService(String serviceId, Long version, ServiceSpec spec) throws DockerException, InterruptedException Description copied from interface:DockerClient
Update an existing service. Only available in Docker API >= 1.24.- Specified by:
updateService
in interfaceDockerClient
- Parameters:
serviceId
- the identifier of the serviceversion
- the version of the servicespec
- the new service spec- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateService
public void updateService(String serviceId, Long version, ServiceSpec spec, RegistryAuth config) throws DockerException, InterruptedException Description copied from interface:DockerClient
Update an existing service. Only available in Docker API >= 1.24.- Specified by:
updateService
in interfaceDockerClient
- Parameters:
serviceId
- the identifier of the serviceversion
- the version of the servicespec
- the new service specconfig
- the registry authentication configuration- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listServices
Description copied from interface:DockerClient
List all services. Only available in Docker API >= 1.24.- Specified by:
listServices
in interfaceDockerClient
- Returns:
- A list of services.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listServices
public List<Service> listServices(Service.Criteria criteria) throws DockerException, InterruptedException Description copied from interface:DockerClient
List services that match the given criteria. Only available in Docker API >= 1.24.- Specified by:
listServices
in interfaceDockerClient
- Parameters:
criteria
- Service listing and filtering options.- Returns:
- A list of
Service
s - Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeService
Description copied from interface:DockerClient
Remove an existing service. Only available in Docker API >= 1.24.- Specified by:
removeService
in interfaceDockerClient
- Parameters:
serviceId
- the id of the service to remove- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
serviceLogs
public LogStream serviceLogs(String serviceId, DockerClient.LogsParam... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
Get docker service logs.- Specified by:
serviceLogs
in interfaceDockerClient
- Parameters:
serviceId
- The id of the service to get logs for.params
- Params for controlling what streams to get and whether to tail or not.- Returns:
- A log message stream.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectTask
Description copied from interface:DockerClient
Inspect an existing task. Only available in Docker API >= 1.24.- Specified by:
inspectTask
in interfaceDockerClient
- Parameters:
taskId
- the id of the task to inspect- Returns:
- Info about the task
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listTasks
Description copied from interface:DockerClient
List all tasks. Only available in Docker API >= 1.24.- Specified by:
listTasks
in interfaceDockerClient
- Returns:
- A list of tasks.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listTasks
Description copied from interface:DockerClient
List tasks that match the given criteria. Only available in Docker API >= 1.24.- Specified by:
listTasks
in interfaceDockerClient
- Parameters:
criteria
-Task.Criteria
- Returns:
- A list of tasks.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listConfigs
Description copied from interface:DockerClient
List swarm configs. Only available in Docker API >= 1.30.- Specified by:
listConfigs
in interfaceDockerClient
- Returns:
- a list of configs
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- if the thread is interrupted
-
listConfigs
public List<Config> listConfigs(Config.Criteria criteria) throws DockerException, InterruptedException Description copied from interface:DockerClient
List swarm configs. Only available in Docker API >= 1.30.- Specified by:
listConfigs
in interfaceDockerClient
- Parameters:
criteria
- Config listing and filtering options- Returns:
- a list of configs.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- if the thread is interrupted
-
createConfig
public ConfigCreateResponse createConfig(ConfigSpec config) throws DockerException, InterruptedException Description copied from interface:DockerClient
Create a config. Only available in Docker API >= 1.30.- Specified by:
createConfig
in interfaceDockerClient
- Parameters:
config
- The spec for the config.- Returns:
ConfigCreateResponse
- Throws:
DockerException
- if node is not part of a swarm (503) or a server error occurred (500)InterruptedException
-
inspectConfig
Description copied from interface:DockerClient
Inspect a config. Only available in Docker API >= 1.30.- Specified by:
inspectConfig
in interfaceDockerClient
- Parameters:
configId
- The id of the config.- Returns:
Config
- Throws:
DockerException
- if node is not part of a swarm (503) or a server error occurred (500)InterruptedException
-
deleteConfig
Description copied from interface:DockerClient
Delete a config. Only available in Docker API >= 1.30.- Specified by:
deleteConfig
in interfaceDockerClient
- Parameters:
configId
- The id of the config.- Throws:
DockerException
- if node is not part of a swarm (503) or a server error occurred (500)InterruptedException
-
updateConfig
public void updateConfig(String configId, Long version, ConfigSpec nodeSpec) throws DockerException, InterruptedException Description copied from interface:DockerClient
Update a swarm config. Only available in Docker API >= 1.30.- Specified by:
updateConfig
in interfaceDockerClient
- Parameters:
configId
- The id of the config to updateversion
- The version number of the config object being updated. This is required to avoid conflicting writes- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listNodes
Description copied from interface:DockerClient
List swarm nodes. Only available in Docker API >= 1.24.- Specified by:
listNodes
in interfaceDockerClient
- Returns:
- A list of nodes.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listNodes
Description copied from interface:DockerClient
List swarm nodes that match the given criteria. Only available in Docker API >= 1.24.- Specified by:
listNodes
in interfaceDockerClient
- Parameters:
criteria
- Node listing and filtering options.- Returns:
- A list of nodes.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectNode
Description copied from interface:DockerClient
Inspects a swarm node. Only available in Docker API >= 1.24.- Specified by:
inspectNode
in interfaceDockerClient
- Parameters:
nodeId
- The id of the swarm node to inspect- Returns:
- info about the node
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- if the thread is interrupted
-
updateNode
public void updateNode(String nodeId, Long version, NodeSpec nodeSpec) throws DockerException, InterruptedException Description copied from interface:DockerClient
Update a swarm node. Only available in Docker API >= 1.24.- Specified by:
updateNode
in interfaceDockerClient
- Parameters:
nodeId
- The id of the node to updateversion
- The version number of the node object being updated. This is required to avoid conflicting writes- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
deleteNode
Description copied from interface:DockerClient
Remove a node from the swarm.- Specified by:
deleteNode
in interfaceDockerClient
- Parameters:
nodeId
- The id of the node to remove.- Throws:
DockerException
InterruptedException
-
deleteNode
Description copied from interface:DockerClient
Remove a node from the swarm.- Specified by:
deleteNode
in interfaceDockerClient
- Parameters:
nodeId
- The id of the node to remove.force
- Forcefully remove the node.- Throws:
DockerException
InterruptedException
-
execResizeTty
public void execResizeTty(String execId, Integer height, Integer width) throws DockerException, InterruptedException Description copied from interface:DockerClient
Resizes the tty session used by an exec command. This API is valid only iftty
was specified as part ofcreating
andstarting
the exec command.- Specified by:
execResizeTty
in interfaceDockerClient
- Parameters:
execId
- exec idheight
- height of tty sessionwidth
- width of tty session- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
execInspect
Description copied from interface:DockerClient
Inspects a running or previously run exec instance id.- Specified by:
execInspect
in interfaceDockerClient
- Parameters:
execId
- exec id- Returns:
- state of this exec instance.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
stats
Description copied from interface:DockerClient
Retrieves one-time stats (stream=0) for the container with the specified id.- Specified by:
stats
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to retrieve stats for.- Returns:
- The container stats
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
resizeTty
public void resizeTty(String containerId, Integer height, Integer width) throws DockerException, InterruptedException Description copied from interface:DockerClient
Resize container TTY This API is valid only iftty
was specified as part ofcreating
the container.- Specified by:
resizeTty
in interfaceDockerClient
- Parameters:
containerId
- The id of the container whose TTY will be resized.height
- New height of TTYwidth
- New width of TTY- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
checkTtyParams
- Throws:
BadParamException
-
listNetworks
public List<Network> listNetworks(DockerClient.ListNetworksParam... params) throws DockerException, InterruptedException Description copied from interface:DockerClient
List all or a subset of the networks. Filters were added in Docker 1.10, API version 1.22.- Specified by:
listNetworks
in interfaceDockerClient
- Returns:
- networks
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectNetwork
Description copied from interface:DockerClient
Inspect a specific network.- Specified by:
inspectNetwork
in interfaceDockerClient
- Parameters:
networkId
- The id of the network- Returns:
- network information
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
createNetwork
public NetworkCreation createNetwork(NetworkConfig networkConfig) throws DockerException, InterruptedException Description copied from interface:DockerClient
Create a new network.- Specified by:
createNetwork
in interfaceDockerClient
- Parameters:
networkConfig
- The network creation parameters- Returns:
- NetworkCreation
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeNetwork
Description copied from interface:DockerClient
Remove a docker network.- Specified by:
removeNetwork
in interfaceDockerClient
- Parameters:
networkId
- The id of the network to remove.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
connectToNetwork
public void connectToNetwork(String containerId, String networkId) throws DockerException, InterruptedException Description copied from interface:DockerClient
Connects a docker container to a network.- Specified by:
connectToNetwork
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to connect.networkId
- The id of the network to connect.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
connectToNetwork
public void connectToNetwork(String networkId, NetworkConnection networkConnection) throws DockerException, InterruptedException Description copied from interface:DockerClient
Connects a docker container to a network, with extended configuration. This is useful when you want to set specific details (aliases, gateway, etc...) for your container inside the network.- Specified by:
connectToNetwork
in interfaceDockerClient
- Parameters:
networkId
- The id of the network to connect.networkConnection
- The target connection parameters.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- if the thread is interrupted
-
disconnectFromNetwork
public void disconnectFromNetwork(String containerId, String networkId) throws DockerException, InterruptedException Description copied from interface:DockerClient
Disconnects a docker container to a network.- Specified by:
disconnectFromNetwork
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to disconnect.networkId
- The id of the network to disconnect.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
disconnectFromNetwork
public void disconnectFromNetwork(String containerId, String networkId, boolean force) throws DockerException, InterruptedException Description copied from interface:DockerClient
Disconnects a docker container to a network.- Specified by:
disconnectFromNetwork
in interfaceDockerClient
- Parameters:
containerId
- The id of the container to disconnect.networkId
- The id of the network to disconnect.force
- Force the container to disconnect from the network.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
createVolume
- Specified by:
createVolume
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
createVolume
- Specified by:
createVolume
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
inspectVolume
- Specified by:
inspectVolume
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
removeVolume
- Specified by:
removeVolume
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
removeVolume
- Specified by:
removeVolume
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
listVolumes
public VolumeList listVolumes(DockerClient.ListVolumesParam... params) throws DockerException, InterruptedException - Specified by:
listVolumes
in interfaceDockerClient
- Throws:
DockerException
InterruptedException
-
listSecrets
Description copied from interface:DockerClient
List secrets.- Specified by:
listSecrets
in interfaceDockerClient
- Returns:
- A list of
Secret
s - Throws:
DockerException
- if a server error occurred (500)InterruptedException
-
createSecret
public SecretCreateResponse createSecret(SecretSpec secret) throws DockerException, InterruptedException Description copied from interface:DockerClient
Create a secret.- Specified by:
createSecret
in interfaceDockerClient
- Parameters:
secret
- The spec for the secret.- Returns:
SecretCreateResponse
- Throws:
DockerException
- if node is not part of a swarm (406) or a server error occurred (500)InterruptedException
-
inspectSecret
Description copied from interface:DockerClient
Inspect a secret.- Specified by:
inspectSecret
in interfaceDockerClient
- Parameters:
secretId
- The id of the secret.- Returns:
Secret
- Throws:
DockerException
- if node is not part of a swarm (406) or a server error occurred (500)InterruptedException
-
deleteSecret
Description copied from interface:DockerClient
Delete a secret.- Specified by:
deleteSecret
in interfaceDockerClient
- Parameters:
secretId
- The id of the secret.- Throws:
DockerException
- if a server error occurred (500)InterruptedException
-
resource
private javax.ws.rs.client.WebTarget resource() -
noTimeoutResource
private javax.ws.rs.client.WebTarget noTimeoutResource() -
request
private <T> T request(String method, javax.ws.rs.core.GenericType<T> type, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
request
private <T> T request(String method, Class<T> clazz, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
request
private <T> T request(String method, Class<T> clazz, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request, javax.ws.rs.client.Entity<?> entity) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
request
private void request(String method, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
tailResponse
private void tailResponse(String method, javax.ws.rs.core.Response response, ProgressHandler handler, javax.ws.rs.client.WebTarget resource) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
requestAndTail
private void requestAndTail(String method, ProgressHandler handler, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request, javax.ws.rs.client.Entity<?> entity) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
requestAndTail
private void requestAndTail(String method, ProgressHandler handler, javax.ws.rs.client.WebTarget resource, javax.ws.rs.client.Invocation.Builder request) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
headers
private javax.ws.rs.client.Invocation.Builder headers(javax.ws.rs.client.Invocation.Builder request) -
propagate
private RuntimeException propagate(String method, javax.ws.rs.client.WebTarget resource, Exception ex) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
message
-
authHeader
- Throws:
DockerException
-
authRegistryHeader
- Throws:
DockerException
-
assertApiVersionIsAbove
private void assertApiVersionIsAbove(String minimumVersion) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
builder
Create a newDefaultDockerClient
builder.- Returns:
- Returns a builder that can be used to further customize and then build the client.
-
fromEnv
Create a newDefaultDockerClient
builder prepopulated with values loaded from the DOCKER_HOST and DOCKER_CERT_PATH environment variables.- Returns:
- Returns a builder that can be used to further customize and then build the client.
- Throws:
DockerCertificateException
- if we could not build a DockerCertificates object
-