| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Java API client for Docker
The current implementation is based on Jersey 2.x and therefore classpath incompatible with older Jersey 1.x dependent libraries!
Developer forum for docker-java
Build and run integration tests as follows:
$ mvn clean install
If you do not have access to a Docker server or just want to execute the build quickly, you can run the build without the integration tests:
$ mvn clean install -DskipITs
By default the docker engine is using local UNIX sockets for communication with the docker CLI so docker-java client also uses UNIX domain sockets to connect to the docker daemon by default. To make the docker daemon listening on a TCP (http/https) port you have to configure it by setting the DOCKER_OPTS environment variable to something like the following:
DOCKER_OPTS="-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock"
More details about setting up Docker server can be found in official documentation: http://docs.docker.io/en/latest/use/basics/
To force docker-java to use TCP (http) configure the following (see Configuration for details):
DOCKER_HOST=tcp://127.0.0.1:2375
For secure tls (https) communication:
DOCKER_HOST=tcp://127.0.0.1:2376 DOCKER_TLS_VERIFY=1 DOCKER_CERT_PATH=/Users/marcus/.docker/machine/machines/docker-1.10.2
Supports a subset of the Docker Remote API v1.22, Docker Server version 1.10.x
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java</artifactId>
<version>3.0.0</version>
</dependency>
Supports a subset of the Docker Remote API v1.22, Docker Server version 1.10.x
You can find the latest development version including javadoc and source files on Sonatypes OSS repository.
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java</artifactId>
<version>3.0.1-SNAPSHOT</version>
</dependency>
For code examples, please look at the Wiki or Test cases
There are a couple of configuration items, all of which have sensible defaults:
There are three ways to configure, in descending order of precedence:
In your application, e.g.
DockerClientConfig config = DockerClientConfig.createDefaultConfigBuilder()
.withDockerHost("tcp://my-docker-host.tld:2376")
.withDockerTlsVerify(true)
.withDockerCertPath("/home/user/.docker/certs")
.withDockerConfig("/home/user/.docker")
.withApiVersion("1.21")
.withRegistryUrl("https://index.docker.io/v1/")
.withRegistryUsername("dockeruser")
.withRegistryPassword("ilovedocker")
.withRegistryEmail("dockeruser@github.com")
.build();
DockerClient docker = DockerClientBuilder.getInstance(config).build();
DOCKER_HOST=tcp://localhost:2376 DOCKER_TLS_VERIFY=1 DOCKER_CERT_PATH=/home/user/.docker/certs DOCKER_CONFIG=/home/user/.docker api.version=1.21 registry.url=https://index.docker.io/v1/ registry.username=dockeruser registry.password=ilovedocker registry.email=dockeruser@github.com
java -DDOCKER_HOST=tcp://localhost:2375 -Dregistry.username=dockeruser pkg.Main
export DOCKER_HOST=tcp://localhost:2376 export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH=/home/user/.docker/certs export DOCKER_CONFIG=/home/user/.docker
In $HOME/.docker-java.properties
In the class path at /docker-java.properties
| Back | FazBrowse Home | New Git URL |