Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 88b06be

Browse files
author
Marcus Linke
committed
Merged push image functionality.
1 parent 17eb43e commit 88b06be

23 files changed

+320
-165
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
Java API client for [Docker](http://docs.docker.io/ "Docker")
44

5-
Supports a subset of the Docker Client API v1.10, Docker Server version 0.10
5+
Supports a subset of the Docker Client API v1.11, Docker Server version 0.11
6+
7+
Developer forum for [docker-java](https://groups.google.com/forum/?hl=de#!forum/docker-java-dev "docker-java")
68

79
## Build with Maven
810

pom.xml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<version>7</version>
88
</parent>
99

10-
<groupId>com.alexecollins</groupId>
10+
<groupId>com.kpelykh</groupId>
1111
<artifactId>docker-java</artifactId>
1212
<packaging>jar</packaging>
1313
<version>0.8.2-SNAPSHOT</version>
@@ -25,10 +25,9 @@
2525
</licenses>
2626

2727
<scm>
28-
<connection>scm:git:[email protected]:alexec/docker-java.git</connection>
29-
<url>[email protected]:alexec/docker-java.git</url>
30-
<developerConnection>scm:git:[email protected]:alexec/docker-java.git</developerConnection>
31-
<tag>HEAD</tag>
28+
<connection>scm:git:[email protected]:kpelykh/docker-java.git</connection>
29+
<url>[email protected]:kpelykh/docker-java.git</url>
30+
<developerConnection>scm:git:[email protected]:kpelykh/docker-java.git</developerConnection>
3231
</scm>
3332

3433
<developers>

src/main/java/com/kpelykh/docker/client/DockerClient.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public DockerClient() {
6060
}
6161

6262
public DockerClient(String serverUrl) {
63-
restEndpointUrl = serverUrl + "/v1.10";
63+
restEndpointUrl = serverUrl + "/v1.11";
6464
ClientConfig clientConfig = new DefaultClientConfig();
6565
clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
6666

@@ -77,6 +77,7 @@ public DockerClient(String serverUrl) {
7777
HttpClient httpClient = new DefaultHttpClient(cm);
7878
client = new ApacheHttpClient4(new ApacheHttpClient4Handler(httpClient, null, false), clientConfig);
7979

80+
client.setReadTimeout(10000);
8081
//Experimental support for unix sockets:
8182
//client = new UnixSocketClient(clientConfig);
8283

@@ -224,7 +225,7 @@ public static String asString(ClientResponse response) throws IOException {
224225
response.getEntityInputStream(), "UTF-8");
225226
while (itr.hasNext()) {
226227
String line = itr.next();
227-
out.write(line + "\n");
228+
out.write(line + (itr.hasNext() ? "\n" : ""));
228229
}
229230
} finally {
230231
closeQuietly(response.getEntityInputStream());
@@ -237,16 +238,16 @@ public static String asString(ClientResponse response) throws IOException {
237238
*
238239
* @param name The name, e.g. "alexec/busybox" or just "busybox" if you want to default. Not null.
239240
*/
240-
public void push(final String name) throws DockerException {
241+
public ClientResponse push(final String name) throws DockerException {
241242
if (name == null) {
242243
throw new IllegalArgumentException("name is null");
243244
}
244245
try {
245246
final String registryAuth = registryAuth();
246-
client.resource(restEndpointUrl + "/images/" + name(name) + "/push")
247+
return client.resource(restEndpointUrl + "/images/" + name(name) + "/push")
247248
.header("X-Registry-Auth", registryAuth)
248249
.accept(MediaType.APPLICATION_JSON)
249-
.post();
250+
.post(ClientResponse.class);
250251
} catch (UniformInterfaceException e) {
251252
throw new DockerException(e);
252253
}

src/main/java/com/kpelykh/docker/client/model/AuthConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.kpelykh.docker.client.model;
22

3+
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
34
import org.codehaus.jackson.annotate.JsonProperty;
45

6+
@JsonIgnoreProperties(ignoreUnknown = true)
57
public class AuthConfig {
68
@JsonProperty
79
private String username;

src/main/java/com/kpelykh/docker/client/model/ChangeLog.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.kpelykh.docker.client.model;
22

3+
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
34
import org.codehaus.jackson.annotate.JsonProperty;
45

56
/**
67
*
78
* @author Konstantin Pelykh ([email protected])
89
*
910
*/
11+
@JsonIgnoreProperties(ignoreUnknown = true)
1012
public class ChangeLog {
1113

1214
@JsonProperty("Path")

src/main/java/com/kpelykh/docker/client/model/CommitConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.kpelykh.docker.client.model;
22

3+
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
34
import org.codehaus.jackson.annotate.JsonProperty;
45

56
/**
67
*
78
* @author Konstantin Pelykh ([email protected])
89
*
910
*/
11+
@JsonIgnoreProperties(ignoreUnknown = true)
1012
public class CommitConfig {
1113

1214
@JsonProperty("container")

src/main/java/com/kpelykh/docker/client/model/ContainerConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.kpelykh.docker.client.model;
22

3+
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
34
import org.codehaus.jackson.annotate.JsonProperty;
45

56
import java.util.Arrays;
@@ -10,6 +11,7 @@
1011
* @author Konstantin Pelykh ([email protected])
1112
*
1213
*/
14+
@JsonIgnoreProperties(ignoreUnknown = true)
1315
public class ContainerConfig {
1416

1517
@JsonProperty("Hostname") private String hostName = "";

src/main/java/com/kpelykh/docker/client/model/ContainerCreateResponse.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.kpelykh.docker.client.model;
22

3+
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
34
import org.codehaus.jackson.annotate.JsonProperty;
45

56
import java.util.Arrays;
@@ -9,6 +10,7 @@
910
* @author Konstantin Pelykh ([email protected])
1011
*
1112
*/
13+
@JsonIgnoreProperties(ignoreUnknown = true)
1214
public class ContainerCreateResponse {
1315

1416
@JsonProperty("Id")

src/main/java/com/kpelykh/docker/client/model/ContainerInspectResponse.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
package com.kpelykh.docker.client.model;
22

33

4-
import org.codehaus.jackson.annotate.JsonProperty;
5-
6-
import java.util.Arrays;
74
import java.util.Map;
85

6+
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
7+
import org.codehaus.jackson.annotate.JsonProperty;
8+
99
/**
1010
*
1111
* @author Konstantin Pelykh ([email protected])
1212
*
1313
*/
14+
@JsonIgnoreProperties(ignoreUnknown = true)
1415
public class ContainerInspectResponse {
1516

1617
@JsonProperty("ID")
@@ -67,6 +68,9 @@ public class ContainerInspectResponse {
6768
@JsonProperty("ExecDriver")
6869
private String execDriver;
6970

71+
@JsonProperty("MountLabel")
72+
private String mountLabel;
73+
7074
public String getId() {
7175
return id;
7276
}
@@ -210,6 +214,14 @@ public void setExecDriver(String execDriver) {
210214
public String getExecDriver() {
211215
return execDriver;
212216
}
217+
218+
public String getMountLabel() {
219+
return mountLabel;
220+
}
221+
222+
public void setMountLabel(String mountLabel) {
223+
this.mountLabel = mountLabel;
224+
}
213225

214226
public class NetworkSettings {
215227

src/main/java/com/kpelykh/docker/client/model/CopyConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.kpelykh.docker.client.model;
22

3+
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
34
import org.codehaus.jackson.annotate.JsonProperty;
45

56
/**
67
* Configuration object for copy command.
78
* @author Victor Lyuboslavsky
89
*/
10+
@JsonIgnoreProperties(ignoreUnknown = true)
911
public class CopyConfig {
1012

1113
@JsonProperty("HostPath")

0 commit comments

Comments
 (0)