Package com.spotify.docker.client
Interface DockerClient
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
DefaultDockerClient
A client for interacting with dockerd.
Note: All methods throw DockerException on unexpected docker response status codes.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enum
Parameters forattachContainer(String, AttachParameter...)
static class
Flags which can be passed to thebuild
method.static class
Filter parameter forevents(EventsParam...)
.static class
Parameters forevents(EventsParam...)
static class
Parameters forexecCreate(String, String[], ExecCreateParam...)
static enum
Supported parameters forexecStart(java.lang.String, com.spotify.docker.client.DockerClient.ExecStartParameter...)
.static interface
Marker interface to designate a parameter as a filter parameter.static class
static class
Parameters forlistContainers(ListContainersParam...)
static class
Filter parameter forlistImages(ListImagesParam...)
.static class
Parameters forlistImages(ListImagesParam...)
.static class
Filter parameter forlistNetworks(ListNetworksParam...)
.static class
Parameters forlistNetworks(ListNetworksParam...)
static class
Filter parameter forlistVolumes(ListVolumesParam...)
.static class
Parameters forlistVolumes(ListVolumesParam...)
.static class
Parameters forlogs(String, LogsParam...)
static class
static class
Parameters forremoveContainer(String)
.static enum
Supported parameters forkillContainer(String, Signal)
). -
Method Summary
Modifier and TypeMethodDescriptionarchiveContainer
(String containerId, String path) Copies an archive out of a container.attachContainer
(String containerId, DockerClient.AttachParameter... params) Attach to the container id.int
auth
(RegistryAuth registryAuth) Check auth configuration.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.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.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 registryAuth) 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.getDistribution
(String imageName) Get the distribution of a container.getHost()
Get the Docker host address.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.Useload(InputStream)
to load a set of image layers from a tarball.void
load
(String image, InputStream imagePayload, ProgressHandler handler) Deprecated.Useload(InputStream)
to load a set of image layers from a tarball.logs
(String containerId, DockerClient.LogsParam... params) Get docker container logs.void
pauseContainer
(String containerId) Pause a docker container.ping()
Ping the docker daemon.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.void
Resize container TTY This API is valid only iftty
was specified as part ofcreating
the container.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.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.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.void
updateService
(String serviceId, Long version, ServiceSpec spec) Update an existing service.void
updateService
(String serviceId, Long version, ServiceSpec spec, RegistryAuth registryAuth) 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.version()
Get the docker version.waitContainer
(String containerId) Wait for a docker container to exit.
-
Method Details
-
ping
Ping the docker daemon. Returns "OK" if all is well, though that it simply returns a 200 status is probably sufficient information.- Returns:
- String "OK"
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
version
Get the docker version.- Returns:
- docker version
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
auth
Check auth configuration.- 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
Get docker instance information.- Returns:
- docker info
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listContainers
List<Container> listContainers(DockerClient.ListContainersParam... params) throws DockerException, InterruptedException List docker containers.- Parameters:
params
- Container listing and filtering options.- Returns:
- A list of containers.
- Throws:
BadParamException
- if one or more params were bad (400)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listImages
List<Image> listImages(DockerClient.ListImagesParam... params) throws DockerException, InterruptedException List docker images.- Parameters:
params
- Image listing and filtering options.- Returns:
- A list of images.
- Throws:
BadParamException
- if one or more params were bad (400)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectContainer
Inspect a docker container.- Parameters:
containerId
- The id of the container to inspect.- Returns:
- Info about the container.
- Throws:
ContainerNotFoundException
- if container was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
commitContainer
ContainerCreation commitContainer(String containerId, String repo, String tag, ContainerConfig config, String comment, String author) throws DockerException, InterruptedException Create a new image from a container's changes.- 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:
ContainerNotFoundException
- if container was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectImage
Inspect a docker container image.- Parameters:
image
- The image to inspect.- Returns:
- Info about the image.
- Throws:
ImageNotFoundException
- if image was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeImage
Remove a docker image.- Parameters:
image
- The image to remove.- Returns:
- A list describing each image which was removed.
- Throws:
ImageNotFoundException
- if image was not found (404)ConflictException
- conflict (409)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeImage
List<RemovedImage> removeImage(String image, boolean force, boolean noPrune) throws DockerException, InterruptedException Remove a docker image.- 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:
ImageNotFoundException
- if image was not found (404)ConflictException
- conflict (409)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
searchImages
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.
- 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 void load(String image, InputStream imagePayload) throws DockerException, InterruptedException Deprecated.Useload(InputStream)
to load a set of image layers from a tarball. Usecreate(String, InputStream)
to create a single image from the contents of a tarball.Creates a single image from a tarball. This method also tags the image with the given image name upon loading completion.- 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 void load(String image, InputStream imagePayload, ProgressHandler handler) throws DockerException, InterruptedException Deprecated.Useload(InputStream)
to load a set of image layers from a tarball. Usecreate(String, InputStream, ProgressHandler)
to create a single image from the contents of a tarball.Creates a single image from a tarball. This method also tags the image with the given image name upon loading completion.- 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
Load a set of images and tags from a tarball.- 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
Set<String> load(InputStream imagePayload, ProgressHandler handler) throws DockerException, InterruptedException Load a set of images and tags from a tarball, using a custom ProgressMessageHandler.- 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
Creates a single image from a tarball. This method also tags the image with the given image name upon loading completion.- 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
void create(String image, InputStream imagePayload, ProgressHandler handler) throws DockerException, InterruptedException Creates a single image from a tarball. This method also tags the image with the given image name upon loading completion.- 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
Get a tarball containing all images and metadata for the repository specified.- 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
InputStream saveMultiple(String... images) throws DockerException, IOException, InterruptedException Get a tarball containing all images and metadata for one or more repositories.- 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.
-
topContainer
List processes running inside the container by usingps
.- 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
TopResults topContainer(String containerId, String psArgs) throws DockerException, InterruptedException List processes running inside the container usingps
and the given arguments.- 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.
-
pull
Pull a docker container image.- Parameters:
image
- The image to pull.- Throws:
ImageNotFoundException
- if image was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
pull
Pull a docker container image, using a custom ProgressMessageHandler- Parameters:
image
- The image to pull.handler
- The handler to use for processing each progress message received from Docker.- Throws:
ImageNotFoundException
- if image was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
pull
Pull a private docker container image.- Parameters:
image
- The image to pull.registryAuth
- TheRegistryAuth
needed to pull the image.- Throws:
ImageNotFoundException
- if image was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
pull
void pull(String image, RegistryAuth registryAuth, ProgressHandler handler) throws DockerException, InterruptedException Pull a private docker container image, using a custom ProgressMessageHandler.- 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:
ImageNotFoundException
- if image was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
push
Push a docker container image.- Parameters:
image
- The image to push.- Throws:
ImageNotFoundException
- if image was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
push
Push a docker container image, using a custom ProgressHandler- Parameters:
image
- The image to push.handler
- The handler to use for processing each progress message received from Docker.- Throws:
ImageNotFoundException
- if image was not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
push
- Throws:
DockerException
InterruptedException
-
push
void push(String image, ProgressHandler handler, RegistryAuth registryAuth) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
tag
Tag a docker image.- Parameters:
image
- The image to tag.name
- The new name that will be applied to the image.- Throws:
BadParamException
- if one or more params were bad (400)ImageNotFoundException
- if image was not found (404)ConflictException
- conflict (409)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
tag
Tag a docker image.- 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:
BadParamException
- if one or more params were bad (400)ImageNotFoundException
- if image was not found (404)ConflictException
- conflict (409)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
build
String build(Path directory, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Build a docker image.- 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
String build(Path directory, String name, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Build a docker image.- 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
String build(Path directory, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Build a docker image.- 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
String build(Path directory, String name, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Build a docker image.- 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
String build(Path directory, String name, String dockerfile, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException Build a docker image.- 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.
-
history
Return the history of the image.- 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
-
createContainer
ContainerCreation createContainer(ContainerConfig config) throws DockerException, InterruptedException Create a docker container.- Parameters:
config
- The container configuration.- Returns:
- Container creation result with container id and eventual warnings from docker.
- Throws:
ImageNotFoundException
- if the requested parent image was not found (404)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
ContainerCreation createContainer(ContainerConfig config, String name) throws DockerException, InterruptedException Create a docker container.- Parameters:
config
- The container configuration.name
- The container name.- Returns:
- Container creation result with container id and eventual warnings from docker.
- Throws:
ImageNotFoundException
- if the requested parent image was not found (404)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
-
renameContainer
Rename a docker container.- Parameters:
containerId
- The id of the container to rename.name
- The new name the container will have- Throws:
ContainerNotFoundException
- if container cannot be found (404)ContainerRenameConflictException
- if name is already assigned (409)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateContainer
ContainerUpdate updateContainer(String containerId, HostConfig config) throws DockerException, InterruptedException Update an existing container. Only available in Docker API >= 1.22.- 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
-
startContainer
Start a docker container.- Parameters:
containerId
- The id of the container to start.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
stopContainer
void stopContainer(String containerId, int secondsToWaitBeforeKilling) throws DockerException, InterruptedException 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.- Parameters:
containerId
- The id of the container to stop.secondsToWaitBeforeKilling
- Time to wait after SIGTERM before sending SIGKILL.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
pauseContainer
Pause a docker container.- Parameters:
containerId
- The id of the container to pause.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
unpauseContainer
Unpause a docker container.- Parameters:
containerId
- The id of the container to pause.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
restartContainer
Restart a docker container. with a 10 second default wait- Parameters:
containerId
- The id of the container to restart.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
restartContainer
void restartContainer(String containerId, int secondsToWaitBeforeRestart) throws DockerException, InterruptedException Restart a docker container.- Parameters:
containerId
- The id of the container to restart.secondsToWaitBeforeRestart
- number of seconds to wait before killing the container.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
waitContainer
Wait for a docker container to exit.- Parameters:
containerId
- The id of the container to wait for.- Returns:
- Exit response with status code.
- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
killContainer
Kill a docker container. Note: by default SIGKILL is sent.- Parameters:
containerId
- The id of the container to kill.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
killContainer
void killContainer(String containerId, DockerClient.Signal signal) throws DockerException, InterruptedException Kill a docker container.- Parameters:
containerId
- The id of the container to kill.signal
- Signal used to kill the process.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
getDistribution
Get the distribution of a container.- Parameters:
imageName
- The name of the container.- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeContainer
Remove a docker container.- Parameters:
containerId
- The id of the container to remove.- Throws:
BadParamException
- if one or more params were bad (400)ContainerNotFoundException
- if container is not found (404)DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeContainer
void removeContainer(String containerId, DockerClient.RemoveContainerParam... params) throws DockerException, InterruptedException Remove a docker container.- Parameters:
containerId
- The id of the container to remove.params
-DockerClient.RemoveContainerParam
- Throws:
BadParamException
- if one or more params were bad (400)ContainerNotFoundException
- if container is not found (404)DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeContainer
@Deprecated void removeContainer(String containerId, boolean removeVolumes) throws DockerException, InterruptedException Deprecated.Remove a docker container.- Parameters:
containerId
- The id of the container to remove.removeVolumes
- Whether to remove volumes as well.- Throws:
BadParamException
- if one or more params were bad (400)ContainerNotFoundException
- if container is not found (404)DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
exportContainer
Export a docker container as a tar archive.- 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:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
copyContainer
@Deprecated InputStream copyContainer(String containerId, String path) throws DockerException, InterruptedException Deprecated.Replaced byarchiveContainer(String, String)
in API 1.20, removed in 1.24.Copies some files out of a container. (removed on API version 1.24)- 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:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedUnsupportedApiVersionException
- If client API is greater than or equal to 1.24
-
archiveContainer
InputStream archiveContainer(String containerId, String path) throws DockerException, InterruptedException Copies an archive out of a container. (API version 1.20+)- 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:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted- Since:
- 1.20
-
copyToContainer
void copyToContainer(Path directory, String containerId, String path) throws DockerException, InterruptedException, IOException Copies some files from host to container. (API version 1.20+)- 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:
BadParamException
- if one or more params were bad (400)PermissionException
- if the volume or container root file system is marked "read only"ContainerNotFoundException
- if container is not found (404)DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If IOException- Since:
- 1.20
-
copyToContainer
void copyToContainer(InputStream tarStream, String containerId, String path) throws DockerException, InterruptedException, IOException -
inspectContainerChanges
List<ContainerChange> inspectContainerChanges(String containerId) throws DockerException, InterruptedException Inspect changes on a container's filesystem.- Parameters:
containerId
- The id of the container.- Returns:
- A list of the changes to the container file system.
- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
logs
LogStream logs(String containerId, DockerClient.LogsParam... params) throws DockerException, InterruptedException Get docker container logs.- 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:
BadParamException
- if one or more params were bad (400)ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
events
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.
- 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
-
execCreate
ExecCreation execCreate(String containerId, String[] cmd, DockerClient.ExecCreateParam... params) throws DockerException, InterruptedException Sets up an exec instance in a running container id.- 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
LogStream execStart(String execId, DockerClient.ExecStartParameter... params) throws DockerException, InterruptedException 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.- Parameters:
execId
- exec idparams
- Exec start params- Returns:
- exec output
- Throws:
ExecNotFoundException
- if exec instance is not found (404)ExecStartConflictException
- if container is paused (409)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectSwarm
Inspect the swarm. Only available in Docker API >= 1.24.- Returns:
- Info about a swarm
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
initSwarm
Initialize a new swarm. Only available in Docker API >= 1.24.- Returns:
- Node ID
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
joinSwarm
Join an existing swarm. Only available in Docker API >= 1.24.- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
leaveSwarm
Leave a swarm. Only available in Docker API >= 1.24.- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
leaveSwarm
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.- Parameters:
force
- Whether to leave forcefully- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
updateSwarm
void updateSwarm(Long version, boolean rotateWorkerToken, boolean rotateManagerToken, boolean rotateManagerUnlockKey, SwarmSpec spec) throws DockerException, InterruptedException Update a swarm. Only available in Docker API >= 1.24.- 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
void updateSwarm(Long version, boolean rotateWorkerToken, boolean rotateManagerToken, SwarmSpec spec) throws DockerException, InterruptedException Update a swarm. Only available in Docker API >= 1.24.- 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
void updateSwarm(Long version, boolean rotateWorkerToken, SwarmSpec spec) throws DockerException, InterruptedException Update a swarm. Only available in Docker API >= 1.24.- 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
Update a swarm. Only available in Docker API >= 1.24.- 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
Get an unlock key for unlocking a swarm. Only available in Docker API >= 1.25.- Returns:
UnlockKey
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
unlock
Unlock a swarm. Only available in Docker API >= 1.25.- Parameters:
unlockKey
-UnlockKey
- Throws:
DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted
-
createService
Create a new service. Only available in Docker API >= 1.24.- 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
ServiceCreateResponse createService(ServiceSpec spec, RegistryAuth registryAuth) throws DockerException, InterruptedException Create a new service. Only available in Docker API >= 1.24.- Parameters:
spec
- the service specregistryAuth
- 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
Inspect an existing service. Only available in Docker API >= 1.24.- 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
void updateService(String serviceId, Long version, ServiceSpec spec) throws DockerException, InterruptedException Update an existing service. Only available in Docker API >= 1.24.- 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
void updateService(String serviceId, Long version, ServiceSpec spec, RegistryAuth registryAuth) throws DockerException, InterruptedException Update an existing service. Only available in Docker API >= 1.24.- Parameters:
serviceId
- the identifier of the serviceversion
- the version of the servicespec
- the new service specregistryAuth
- the registry authentication configuration- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listServices
List all services. Only available in Docker API >= 1.24.- Returns:
- A list of services.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listServices
List services that match the given criteria. Only available in Docker API >= 1.24.- 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
Remove an existing service. Only available in Docker API >= 1.24.- Parameters:
serviceId
- the id of the service to remove- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
serviceLogs
LogStream serviceLogs(String serviceId, DockerClient.LogsParam... params) throws DockerException, InterruptedException Get docker service logs.- 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:
BadParamException
- if one or more params were bad (400)ServiceNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectTask
Inspect an existing task. Only available in Docker API >= 1.24.- 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
List all tasks. Only available in Docker API >= 1.24.- Returns:
- A list of tasks.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listTasks
List tasks that match the given criteria. Only available in Docker API >= 1.24.- Parameters:
criteria
-Task.Criteria
- Returns:
- A list of tasks.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
execResizeTty
void execResizeTty(String execId, Integer height, Integer width) throws DockerException, InterruptedException Resizes the tty session used by an exec command. This API is valid only iftty
was specified as part ofcreating
andstarting
the exec command.- Parameters:
execId
- exec idheight
- height of tty sessionwidth
- width of tty session- Throws:
BadParamException
- if both height and width are null or zeroExecNotFoundException
- if exec instance is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
execInspect
Inspects a running or previously run exec instance id.- Parameters:
execId
- exec id- Returns:
- state of this exec instance.
- Throws:
ExecNotFoundException
- if exec instance is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
stats
Retrieves one-time stats (stream=0) for the container with the specified id.- Parameters:
containerId
- The id of the container to retrieve stats for.- Returns:
- The container stats
- Throws:
ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
resizeTty
void resizeTty(String containerId, Integer height, Integer width) throws DockerException, InterruptedException Resize container TTY This API is valid only iftty
was specified as part ofcreating
the container.- Parameters:
containerId
- The id of the container whose TTY will be resized.height
- New height of TTYwidth
- New width of TTY- Throws:
BadParamException
- if both height and width are null or zeroContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
listNetworks
List<Network> listNetworks(DockerClient.ListNetworksParam... params) throws DockerException, InterruptedException List all or a subset of the networks. Filters were added in Docker 1.10, API version 1.22.- Returns:
- networks
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
inspectNetwork
Inspect a specific network.- Parameters:
networkId
- The id of the network- Returns:
- network information
- Throws:
NetworkNotFoundException
- if network is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
createNetwork
NetworkCreation createNetwork(NetworkConfig networkConfig) throws DockerException, InterruptedException Create a new network.- Parameters:
networkConfig
- The network creation parameters- Returns:
- NetworkCreation
- Throws:
NetworkNotFoundException
- if network is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
removeNetwork
Remove a docker network.- Parameters:
networkId
- The id of the network to remove.- Throws:
NetworkNotFoundException
- if network is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
connectToNetwork
void connectToNetwork(String containerId, String networkId) throws DockerException, InterruptedException Connects a docker container to a network.- Parameters:
containerId
- The id of the container to connect.networkId
- The id of the network to connect.- Throws:
NotFoundException
- if either container or network is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
connectToNetwork
void connectToNetwork(String networkId, NetworkConnection networkConnection) throws DockerException, InterruptedException 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.- Parameters:
networkId
- The id of the network to connect.networkConnection
- The target connection parameters.- Throws:
NotFoundException
- if either container or network is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- if the thread is interrupted
-
disconnectFromNetwork
void disconnectFromNetwork(String containerId, String networkId) throws DockerException, InterruptedException Disconnects a docker container to a network.- Parameters:
containerId
- The id of the container to disconnect.networkId
- The id of the network to disconnect.- Throws:
NotFoundException
- if either container or network is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
disconnectFromNetwork
void disconnectFromNetwork(String containerId, String networkId, boolean force) throws DockerException, InterruptedException Disconnects a docker container to a network.- 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:
NotFoundException
- if either container or network is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted
-
close
void close()Closes any and all underlying connections to docker, and release resources.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
attachContainer
LogStream attachContainer(String containerId, DockerClient.AttachParameter... params) throws DockerException, InterruptedException Attach to the container id.- 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:
BadParamException
- if one or more params were bad (400)ContainerNotFoundException
- if container is not found (404)DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIllegalStateException
- If the container is not running
-
getHost
String getHost()Get the Docker host address.- Returns:
- the docker host name or IP
-
createVolume
- Throws:
DockerException
InterruptedException
-
createVolume
- Throws:
DockerException
InterruptedException
-
inspectVolume
- Throws:
DockerException
InterruptedException
-
removeVolume
- Throws:
DockerException
InterruptedException
-
removeVolume
- Throws:
DockerException
InterruptedException
-
listVolumes
VolumeList listVolumes(DockerClient.ListVolumesParam... params) throws DockerException, InterruptedException - Throws:
DockerException
InterruptedException
-
listSecrets
List secrets.- Returns:
- A list of
Secret
s - Throws:
DockerException
- if a server error occurred (500)InterruptedException
- Since:
- Docker 1.13, API version 1.25
-
createSecret
Create a secret.- Parameters:
secret
- The spec for the secret.- Returns:
SecretCreateResponse
- Throws:
ConflictException
- conflict (409)DockerException
- if node is not part of a swarm (406) or a server error occurred (500)InterruptedException
- Since:
- Docker 1.13, API version 1.25
-
inspectSecret
Inspect a secret.- Parameters:
secretId
- The id of the secret.- Returns:
Secret
- Throws:
NotFoundException
- secret not found (404)DockerException
- if node is not part of a swarm (406) or a server error occurred (500)InterruptedException
- Since:
- Docker 1.13, API version 1.25
-
deleteSecret
Delete a secret.- Parameters:
secretId
- The id of the secret.- Throws:
NotFoundException
- not found (404)DockerException
- if a server error occurred (500)InterruptedException
- Since:
- Docker 1.13, API version 1.25
-
listConfigs
List swarm configs. Only available in Docker API >= 1.30.- Returns:
- a list of configs
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- if the thread is interrupted- Since:
- Docker 1.13, API version 1.30
-
listConfigs
List swarm configs. Only available in Docker API >= 1.30.- 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- Since:
- Docker 1.13, API version 1.30
-
createConfig
Create a config. Only available in Docker API >= 1.30.- Parameters:
config
- The spec for the config.- Returns:
ConfigCreateResponse
- Throws:
ConflictException
- conflict (409)DockerException
- if node is not part of a swarm (503) or a server error occurred (500)InterruptedException
- Since:
- Docker 1.13, API version 1.30
-
inspectConfig
Inspect a config. Only available in Docker API >= 1.30.- Parameters:
configId
- The id of the config.- Returns:
Config
- Throws:
NotFoundException
- config not found (404)DockerException
- if node is not part of a swarm (503) or a server error occurred (500)InterruptedException
- Since:
- Docker 1.13, API version 1.30
-
deleteConfig
Delete a config. Only available in Docker API >= 1.30.- Parameters:
configId
- The id of the config.- Throws:
NotFoundException
- config not found (404)DockerException
- if node is not part of a swarm (503) or a server error occurred (500)InterruptedException
- Since:
- Docker 1.13, API version 1.30
-
updateConfig
void updateConfig(String configId, Long version, ConfigSpec nodeSpec) throws DockerException, InterruptedException Update a swarm config. Only available in Docker API >= 1.30.- 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:
NodeNotFoundException
- If the config doesn't exist (404)NonSwarmNodeException
- If the config is not part of a swarm (503)DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted- Since:
- Docker 1.13, API version 1.30
-
listNodes
List swarm nodes. Only available in Docker API >= 1.24.- Returns:
- A list of nodes.
- Throws:
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interrupted- Since:
- Docker 1.12, API version 1.24
-
listNodes
List swarm nodes that match the given criteria. Only available in Docker API >= 1.24.- 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- Since:
- Docker 1.12, API version 1.24
-
inspectNode
Inspects a swarm node. Only available in Docker API >= 1.24.- Parameters:
nodeId
- The id of the swarm node to inspect- Returns:
- info about the node
- Throws:
NonSwarmNodeException
- if the node is not part of a swarm (503)DockerException
- if a server error occurred (500)InterruptedException
- if the thread is interrupted- Since:
- Docker 1.12, API Version 1.24
-
updateNode
void updateNode(String nodeId, Long version, NodeSpec nodeSpec) throws DockerException, InterruptedException Update a swarm node. Only available in Docker API >= 1.24.- 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:
NodeNotFoundException
- If the node doesn't exist (404)NonSwarmNodeException
- If the node is not part of a swarm (503)DockerException
- If a server error occurred (500)InterruptedException
- If the thread is interrupted- Since:
- Docker 1.12, API version 1.24
-
deleteNode
Remove a node from the swarm.- Parameters:
nodeId
- The id of the node to remove.- Throws:
DockerException
InterruptedException
-
deleteNode
Remove a node from the swarm.- Parameters:
nodeId
- The id of the node to remove.force
- Forcefully remove the node.- Throws:
DockerException
InterruptedException
-
archiveContainer(String, String)
in API 1.20, removed in 1.24.