Skip to content

Commit 529d224

Browse files
committed
added Docker Builder support
1 parent 25a27b9 commit 529d224

File tree

18 files changed

+734
-490
lines changed

18 files changed

+734
-490
lines changed

.travis.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.

README.md

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -63,36 +63,43 @@ repository, before you can use it in your projects.*
6363
6464
###### Create new Docker container, wait for its start and stop it:
6565

66-
ContainerConfig containerConfig =
67-
new ContainerConfig.Builder("busybox")
68-
.cmd(new String[]{"echo"}).build();
66+
ContainerConfig containerConfig = new ContainerConfig();
67+
containerConfig.setImage("busybox");
68+
containerConfig.setCmd(new String[] {"touch", "/test"});
6969
ContainerCreateResponse container = dockerClient.createContainer(containerConfig);
70+
7071
dockerClient.startContainer(container.id);
7172

7273
dockerClient.waitContainer(container.id);
7374

7475
dockerClient.stopContainer(container.id);
7576

7677

77-
##### Container Builder:
78-
79-
ContainerConfig containerConfig =
80-
new ContainerConfig.Builder("busybox")
81-
.cmd(new String[] {"true"})
82-
.hostName(hostname)
83-
.user(user)
84-
.stdinOpen(stdinOpen)
85-
.tty(tty)
86-
.memoryLimit(memLimit)
87-
.portSpecs(ports)
88-
.env(environment)
89-
.dns(dns)
90-
.volumes(volumes)
91-
.volumesFrom(volumesFrom)
92-
.build();
93-
ContainerCreateResponse container = dockerClient.createContainer(containerConfig);
94-
95-
78+
##### Docker Builder:
79+
80+
To use Docker Builder, as described on page http://docs.docker.io/en/latest/use/builder/,
81+
run dockerClient.build(baseDir), where baseDir is a path to folder containing Dockerfile.
82+
83+
84+
File baseDir = new File("~/kpelykh/docker/netcat");
85+
86+
ClientResponse response = dockerClient.build(baseDir);
87+
88+
StringWriter logwriter = new StringWriter();
89+
90+
try {
91+
LineIterator itr = IOUtils.lineIterator(response.getEntityInputStream(), "UTF-8");
92+
while (itr.hasNext()) {
93+
String line = itr.next();
94+
logwriter.write(line);
95+
LOG.info(line);
96+
}
97+
} finally {
98+
IOUtils.closeQuietly(response.getEntityInputStream());
99+
}
100+
101+
102+
96103
For additional examples, please look at [DockerClientTest.java](https://github.com/kpelykh/docker-java/blob/master/src/test/java/com/kpelykh/docker/client/test/DockerClientTest.java "DockerClientTest.java")
97104

98105

pom.xml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<version.testng>5.12.1</version.testng>
2121
<version.slf4j>1.6.1</version.slf4j>
2222
<version.logback>1.0.1</version.logback>
23+
<jersey-version>1.17.1</jersey-version>
2324
</properties>
2425

2526
<contributors>
@@ -33,38 +34,46 @@
3334
<dependency>
3435
<groupId>com.sun.jersey</groupId>
3536
<artifactId>jersey-core</artifactId>
36-
<version>1.17.1</version>
37+
<version>${jersey-version}</version>
3738
</dependency>
3839
<dependency>
3940
<groupId>com.sun.jersey</groupId>
4041
<artifactId>jersey-client</artifactId>
41-
<version>1.17.1</version>
42+
<version>${jersey-version}</version>
4243
</dependency>
4344
<dependency>
4445
<groupId>com.sun.jersey</groupId>
4546
<artifactId>jersey-json</artifactId>
46-
<version>1.17.1</version>
47+
<version>${jersey-version}</version>
48+
</dependency>
49+
<dependency>
50+
<groupId>com.sun.jersey.contribs</groupId>
51+
<artifactId>jersey-multipart</artifactId>
52+
<version>${jersey-version}</version>
53+
</dependency>
54+
<dependency>
55+
<groupId>com.sun.jersey.contribs</groupId>
56+
<artifactId>jersey-apache-client4</artifactId>
57+
<version>1.9</version>
4758
</dependency>
4859

60+
4961
<dependency>
5062
<groupId>commons-httpclient</groupId>
5163
<artifactId>commons-httpclient</artifactId>
5264
<version>3.1</version>
5365
<scope>compile</scope>
5466
</dependency>
5567
<dependency>
56-
<groupId>com.sun.jersey.contribs</groupId>
57-
<artifactId>jersey-apache-client4</artifactId>
58-
<version>1.9</version>
59-
<scope>compile</scope>
68+
<groupId>org.apache.commons</groupId>
69+
<artifactId>commons-compress</artifactId>
70+
<version>1.5</version>
6071
</dependency>
61-
6272
<dependency>
6373
<groupId>commons-lang</groupId>
6474
<artifactId>commons-lang</artifactId>
6575
<version>2.6</version>
6676
</dependency>
67-
6877
<dependency>
6978
<groupId>commons-io</groupId>
7079
<artifactId>commons-io</artifactId>
@@ -116,6 +125,12 @@
116125
<artifactId>lambdaj</artifactId>
117126
<version>2.3.3</version>
118127
<scope>test</scope>
128+
<exclusions>
129+
<exclusion>
130+
<groupId>org.hamcrest</groupId>
131+
<artifactId>hamcrest-all</artifactId>
132+
</exclusion>
133+
</exclusions>
119134
</dependency>
120135

121136
<dependency>

0 commit comments

Comments
 (0)