public interface DockerClient extends Closeable
Modifier and Type | Interface and Description |
---|---|
static class |
DockerClient.AttachParameter
Parameters for
attachContainer(String, AttachParameter...) |
static class |
DockerClient.BuildParam
Flags which can be passed to the
build method. |
static class |
DockerClient.ExecCreateParam
Parameters for
execCreate(String, String[], ExecCreateParam...) |
static class |
DockerClient.ExecStartParameter
Supported parameters for
execStart(java.lang.String, com.spotify.docker.client.DockerClient.ExecStartParameter...) |
static class |
DockerClient.ListContainersParam
Parameters for
listContainers(ListContainersParam...) |
static class |
DockerClient.ListImagesFilterParam
Filter parameter for
listImages(ListImagesParam...) . |
static class |
DockerClient.ListImagesParam
Parameters for
listImages(ListImagesParam...) |
static class |
DockerClient.LogsParam
Parameters for
logs(String, LogsParam...) |
Modifier and Type | Method and Description |
---|---|
LogStream |
attachContainer(String containerId,
DockerClient.AttachParameter... params)
Attach to the container id
|
int |
auth(AuthConfig authConfig)
Check auth configuration.
|
String |
build(Path directory,
DockerClient.BuildParam... params)
Build a docker image.
|
String |
build(Path directory,
ProgressHandler handler,
DockerClient.BuildParam... params)
Build a docker image.
|
String |
build(Path directory,
String name,
DockerClient.BuildParam... params)
Build a docker image.
|
String |
build(Path directory,
String name,
ProgressHandler handler,
DockerClient.BuildParam... params)
Build a docker image.
|
String |
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.
|
ContainerCreation |
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 containerId,
String networkId)
Connects a docker container to a network.
|
InputStream |
copyContainer(String containerId,
String path)
Copies some files out of a container.
|
void |
copyToContainer(Path directory,
String containerId,
String path)
Copies some files from host to container.
|
ContainerCreation |
createContainer(ContainerConfig config)
Create a docker container.
|
ContainerCreation |
createContainer(ContainerConfig config,
String name)
Create a docker container.
|
NetworkCreation |
createNetwork(NetworkConfig networkConfig)
Create a new network
|
void |
disconnectFromNetwork(String containerId,
String networkId)
Disconnects a docker container to a network.
|
String |
execCreate(String containerId,
String[] cmd,
DockerClient.ExecCreateParam... params)
Sets up an exec instance in a running container id.
|
ExecState |
execInspect(String execId)
Inspects a running or previously run exec instance id.
|
LogStream |
execStart(String execId,
DockerClient.ExecStartParameter... params)
Starts a previously set up exec instance id.
|
InputStream |
exportContainer(String containerId)
Export a docker container as a tar archive.
|
String |
getHost()
Get the Docker host address
|
Info |
info()
Get docker instance information.
|
ContainerInfo |
inspectContainer(String containerId)
Inspect a docker container.
|
ImageInfo |
inspectImage(String image)
Inspect a docker container image.
|
Network |
inspectNetwork(String networkId)
Inspect a specific network
|
void |
killContainer(String containerId)
Kill a docker container.
|
List<Container> |
listContainers(DockerClient.ListContainersParam... params)
List docker containers.
|
List<Image> |
listImages(DockerClient.ListImagesParam... params)
List docker images.
|
List<Network> |
listNetworks()
List all networks
|
void |
load(String image,
InputStream imagePayload)
Loads an image (the given input stream is closed internally).
|
void |
load(String image,
InputStream imagePayload,
AuthConfig authConfig)
Loads an image (the given input stream is closed internally).
|
void |
load(String image,
InputStream imagePayload,
AuthConfig authConfig,
ProgressHandler handler)
Loads an image (the given input stream is closed internally).
|
void |
load(String image,
InputStream imagePayload,
ProgressHandler handler)
Loads an image (the given input stream is closed internally).
|
LogStream |
logs(String containerId,
DockerClient.LogsParam... params)
Get docker container logs.
|
void |
pauseContainer(String containerId)
Pause a docker container.
|
String |
ping()
Ping the docker daemon.
|
void |
pull(String image)
Pull a docker container image.
|
void |
pull(String image,
AuthConfig authConfig)
Pull a private docker container image.
|
void |
pull(String image,
AuthConfig authConfig,
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 ProgressMessageHandler
|
void |
push(String image)
Push a docker container image.
|
void |
push(String image,
ProgressHandler handler)
Push a docker container image, using a custom ProgressHandler
|
void |
removeContainer(String containerId)
Remove a docker container.
|
void |
removeContainer(String containerId,
boolean removeVolumes)
Remove a docker container.
|
List<RemovedImage> |
removeImage(String image)
Remove a docker image.
|
List<RemovedImage> |
removeImage(String image,
boolean force,
boolean noPrune)
Remove a docker image.
|
void |
removeNetwork(String networkId)
Remove a docker network.
|
void |
restartContainer(String containerId)
Restart a docker container.
|
void |
restartContainer(String containerId,
int secondsToWaitBeforeRestart)
Restart a docker container.
|
InputStream |
save(String image) |
InputStream |
save(String image,
AuthConfig authConfig) |
List<ImageSearchResult> |
searchImages(String term)
Search for images on Docker Hub
|
void |
startContainer(String containerId)
Start a docker container.
|
ContainerStats |
stats(String containerId)
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(String image,
String name)
Tag a docker image.
|
void |
tag(String image,
String name,
boolean force)
Tag a docker image.
|
void |
unpauseContainer(String containerId)
Unpause a docker container.
|
Version |
version()
Get the docker version.
|
ContainerExit |
waitContainer(String containerId)
Wait for a docker container to exit.
|
String ping() throws DockerException, InterruptedException
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedVersion version() throws DockerException, InterruptedException
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedint auth(AuthConfig authConfig) throws DockerException, InterruptedException
authConfig
- The authentication config needed to pull the image.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedInfo info() throws DockerException, InterruptedException
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedList<Container> listContainers(DockerClient.ListContainersParam... params) throws DockerException, InterruptedException
params
- Container listing and filtering options.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedList<Image> listImages(DockerClient.ListImagesParam... params) throws DockerException, InterruptedException
params
- Image listing and filtering options.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedContainerInfo inspectContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to inspect.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedContainerCreation commitContainer(String containerId, String repo, String tag, ContainerConfig config, String comment, String author) throws DockerException, InterruptedException
containerId
- The id of the container to commit.comment
- commit message.author
- image author.tag
- image tag.repo
- repository to commit to.config
- ContainerConfig to commit.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedImageInfo inspectImage(String image) throws DockerException, InterruptedException
image
- The image to inspect.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedList<RemovedImage> removeImage(String image) throws DockerException, InterruptedException
image
- The image to remove.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedList<RemovedImage> removeImage(String image, boolean force, boolean noPrune) throws DockerException, InterruptedException
image
- The image to remove.force
- Force image removal.noPrune
- Do not delete untagged parents.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedList<ImageSearchResult> searchImages(String term) throws DockerException, InterruptedException
term
- the search termDockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid load(String image, InputStream imagePayload) throws DockerException, InterruptedException
image
- the name to assign to the image.imagePayload
- the image's payload
(i.e.: the stream corresponding to the image's .tar file).DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.void load(String image, InputStream imagePayload, ProgressHandler handler) throws DockerException, InterruptedException
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.DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.void load(String image, InputStream imagePayload, AuthConfig authConfig) throws DockerException, InterruptedException
image
- the name to assign to the image.imagePayload
- the image's payload
(i.e.: the stream corresponding to the image's .tar file).authConfig
- The authentication config needed to pull the image.DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.void load(String image, InputStream imagePayload, AuthConfig authConfig, ProgressHandler handler) throws DockerException, InterruptedException
image
- the name to assign to the image.imagePayload
- the image's payload
(i.e.: the stream corresponding to the image's .tar file).authConfig
- The authentication config needed to pull the image.handler
- The handler to use for processing each progress message received from Docker.DockerException
- if a server error occurred (500).InterruptedException
- if the thread is interrupted.InputStream save(String image) throws DockerException, IOException, InterruptedException
image
- the name of the image to save.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.InputStream save(String image, AuthConfig authConfig) throws DockerException, IOException, InterruptedException
image
- the name of the image to save.authConfig
- The authentication config needed to pull the image.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.void pull(String image) throws DockerException, InterruptedException
image
- The image to pull.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid pull(String image, ProgressHandler handler) throws DockerException, InterruptedException
image
- The image to pull.handler
- The handler to use for processing each progress message received from Docker.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid pull(String image, AuthConfig authConfig) throws DockerException, InterruptedException
image
- The image to pull.authConfig
- The authentication config needed to pull the image.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid pull(String image, AuthConfig authConfig, ProgressHandler handler) throws DockerException, InterruptedException
image
- The image to pull.authConfig
- The authentication config needed to pull the image.handler
- The handler to use for processing each progress message received from Docker.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid push(String image) throws DockerException, InterruptedException
image
- The image to push.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid push(String image, ProgressHandler handler) throws DockerException, InterruptedException
image
- The image to push.handler
- The handler to use for processing each progress message received from Docker.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid tag(String image, String name) throws DockerException, InterruptedException
image
- The image to tag.name
- The new name that will be applied to the image.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid tag(String image, String name, boolean force) throws DockerException, InterruptedException
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.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedString build(Path directory, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException
directory
- The directory containing the dockerfile.params
- Additional flags to use during build.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.String build(Path directory, String name, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException
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.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.String build(Path directory, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException
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.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.String build(Path directory, String name, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException
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.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.String build(Path directory, String name, String dockerfile, ProgressHandler handler, DockerClient.BuildParam... params) throws DockerException, InterruptedException, IOException
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.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
- If some IO shit happened.ContainerCreation createContainer(ContainerConfig config) throws DockerException, InterruptedException
config
- The container configuration.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedContainerCreation createContainer(ContainerConfig config, String name) throws DockerException, InterruptedException
config
- The container configuration.name
- The container name.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid startContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to start.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid stopContainer(String containerId, int secondsToWaitBeforeKilling) throws DockerException, InterruptedException
containerId
- The id of the container to stop.secondsToWaitBeforeKilling
- Time to wait after SIGTERM before sending SIGKILL.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid pauseContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to pause.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid unpauseContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to pause.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid restartContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to restart.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid restartContainer(String containerId, int secondsToWaitBeforeRestart) throws DockerException, InterruptedException
containerId
- The id of the container to restart.secondsToWaitBeforeRestart
- number of seconds to wait before killing the container.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedContainerExit waitContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to wait for.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid killContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to kill.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid removeContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to remove.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid removeContainer(String containerId, boolean removeVolumes) throws DockerException, InterruptedException
containerId
- The id of the container to remove.removeVolumes
- Whether to remove volumes as well.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedInputStream exportContainer(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to export.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedInputStream copyContainer(String containerId, String path) throws DockerException, InterruptedException
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.copy(..., "/usr/share")
will
result in a directory called share
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.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid copyToContainer(Path directory, String containerId, String path) throws DockerException, InterruptedException, IOException
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.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedIOException
LogStream logs(String containerId, DockerClient.LogsParam... params) throws DockerException, InterruptedException
containerId
- The id of the container to get logs for.params
- Params for controlling what streams to get and whether to tail or not.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedString execCreate(String containerId, String[] cmd, DockerClient.ExecCreateParam... params) throws DockerException, InterruptedException
containerId
- The id of the containercmd
- shell commandparams
- Exec paramsDockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedLogStream execStart(String execId, DockerClient.ExecStartParameter... params) throws DockerException, InterruptedException
execId
- exec idparams
- Exec start paramsDockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedExecState execInspect(String execId) throws DockerException, InterruptedException
execId
- exec idDockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedContainerStats stats(String containerId) throws DockerException, InterruptedException
containerId
- The id of the container to retrieve stats for.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedList<Network> listNetworks() throws DockerException, InterruptedException
DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedNetwork inspectNetwork(String networkId) throws DockerException, InterruptedException
networkId
- The id of the networkDockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedNetworkCreation createNetwork(NetworkConfig networkConfig) throws DockerException, InterruptedException
networkConfig
- The network creation parametersDockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid removeNetwork(String networkId) throws DockerException, InterruptedException
networkId
- The id of the network to remove.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedvoid connectToNetwork(String containerId, String networkId) throws DockerException, InterruptedException
containerId
- The id of the container to connect.networkId
- The id of the network to connect.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedContainerNotFoundException
- if the container was not found (404)void disconnectFromNetwork(String containerId, String networkId) throws DockerException, InterruptedException
containerId
- The id of the container to disconnect.networkId
- The id of the network to disconnect.DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedContainerNotFoundException
- if the container was not found (404)void close()
close
in interface AutoCloseable
close
in interface Closeable
LogStream attachContainer(String containerId, DockerClient.AttachParameter... params) throws DockerException, InterruptedException
containerId
- The id of the container to get logs for.params
- Params for controlling what streams to get and whether to tail or not.ContainerNotFoundException
- if the container was not found (404).DockerException
- if a server error occurred (500)InterruptedException
- If the thread is interruptedString getHost()
Copyright © 2016. All rights reserved.