Skip to content

Commit 3993c60

Browse files
authored
Merge pull request docker-java#1061 from tlusk/feature-network-mode
Support network mode as part of the docker build
2 parents f9a160d + 41eab7f commit 3993c60

File tree

4 files changed

+32
-0
lines changed

4 files changed

+32
-0
lines changed

src/main/java/com/github/dockerjava/api/command/BuildImageCmd.java

+11
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ public interface BuildImageCmd extends AsyncDockerCmd<BuildImageCmd, BuildRespon
125125
@CheckForNull
126126
Map<String, String> getLabels();
127127

128+
/**
129+
* @since {@link RemoteApiVersion#VERSION_1_25}
130+
*/
131+
@CheckForNull
132+
String getNetworkMode();
133+
128134
// setters
129135

130136
/**
@@ -188,6 +194,11 @@ public interface BuildImageCmd extends AsyncDockerCmd<BuildImageCmd, BuildRespon
188194
*/
189195
BuildImageCmd withLabels(Map<String, String> labels);
190196

197+
/**
198+
*@since {@link RemoteApiVersion#VERSION_1_25}
199+
*/
200+
BuildImageCmd withNetworkMode(String networkMode);
201+
191202
interface Exec extends DockerCmdAsyncExec<BuildImageCmd, BuildResponseItem> {
192203
}
193204

src/main/java/com/github/dockerjava/core/command/BuildImageCmdImpl.java

+13
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public class BuildImageCmdImpl extends AbstrAsyncDockerCmd<BuildImageCmd, BuildR
6666

6767
private Map<String, String> labels;
6868

69+
private String networkMode;
70+
6971
public BuildImageCmdImpl(BuildImageCmd.Exec exec) {
7072
super(exec);
7173
}
@@ -177,6 +179,11 @@ public Map<String, String> getLabels() {
177179
return labels;
178180
}
179181

182+
@Override
183+
public String getNetworkMode() {
184+
return networkMode;
185+
}
186+
180187
// getter lib specific
181188

182189
@Override
@@ -363,6 +370,12 @@ public BuildImageCmd withLabels(Map<String, String> labels) {
363370
return this;
364371
}
365372

373+
@Override
374+
public BuildImageCmd withNetworkMode(String networkMode) {
375+
this.networkMode = networkMode;
376+
return this;
377+
}
378+
366379
@Override
367380
public void close() {
368381
super.close();

src/main/java/com/github/dockerjava/core/exec/BuildImageCmdExec.java

+4
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ protected Void execute0(BuildImageCmd command, ResultCallback<BuildResponseItem>
102102
webTarget = webTarget.queryParamsJsonMap("labels", command.getLabels());
103103
}
104104

105+
if (command.getNetworkMode() != null) {
106+
webTarget = webTarget.queryParam("networkmode", command.getNetworkMode());
107+
}
108+
105109
LOGGER.trace("POST: {}", webTarget);
106110

107111
InvocationBuilder builder = resourceWithOptionalAuthConfig(command, webTarget.request())

src/main/java/com/github/dockerjava/jaxrs/BuildImageCmdExec.java

+4
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ protected AbstractCallbackNotifier<BuildResponseItem> callbackNotifier(BuildImag
121121

122122
webTarget = writeMap(webTarget, "labels", command.getLabels());
123123

124+
if (command.getNetworkMode() != null) {
125+
webTarget = webTarget.queryParam("networkmode", command.getNetworkMode());
126+
}
127+
124128
webTarget.property(ClientProperties.REQUEST_ENTITY_PROCESSING, RequestEntityProcessing.CHUNKED);
125129
webTarget.property(ClientProperties.CHUNKED_ENCODING_SIZE, 1024 * 1024);
126130

0 commit comments

Comments
 (0)