Skip to content

Commit 0832abc

Browse files
committed
Merge pull request #107 from albers/fix-create-withDns
Fix CreateContainerCmd.withDns()
2 parents 5aca2b9 + b54f7a2 commit 0832abc

File tree

3 files changed

+27
-10
lines changed

3 files changed

+27
-10
lines changed

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ public class CreateContainerCmdImpl extends AbstrDockerCmd<CreateContainerCmd, C
3939
@JsonProperty("StdinOnce") private boolean stdInOnce = false;
4040
@JsonProperty("Env") private String[] env;
4141
@JsonProperty("Cmd") private String[] cmd;
42-
@JsonProperty("Dns") private String[] dns;
4342
@JsonProperty("Image") private String image;
4443
@JsonProperty("Volumes") private Volumes volumes = new Volumes();
4544
@JsonProperty("VolumesFrom") private String[] volumesFrom = new String[]{};
@@ -257,13 +256,13 @@ public CreateContainerCmdImpl withCmd(String... cmd) {
257256
}
258257

259258
@Override
260-
public String[] getDns() {
261-
return dns;
259+
public String[] getDns() {
260+
return hostConfig.getDns();
262261
}
263262

264263
@Override
265-
public CreateContainerCmdImpl withDns(String... dns) {
266-
this.dns = dns;
264+
public CreateContainerCmdImpl withDns(String... dns) {
265+
hostConfig.setDns(dns);
267266
return this;
268267
}
269268

src/test/java/com/github/dockerjava/core/command/CreateContainerCmdImplTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,4 +219,25 @@ public void createContainerWithCapAddAndCapDrop() throws DockerException {
219219
.getCapDrop()), contains(MKNOD));
220220
}
221221

222+
@Test
223+
public void createContainerWithDns() throws DockerException {
224+
225+
String aDnsServer = "8.8.8.8";
226+
String anotherDnsServer = "8.8.4.4";
227+
228+
CreateContainerResponse container = dockerClient
229+
.createContainerCmd("busybox")
230+
.withCmd("true").withDns(aDnsServer, anotherDnsServer).exec();
231+
232+
LOG.info("Created container {}", container.toString());
233+
234+
assertThat(container.getId(), not(isEmptyString()));
235+
236+
InspectContainerResponse inspectContainerResponse = dockerClient
237+
.inspectContainerCmd(container.getId()).exec();
238+
239+
assertThat(Arrays.asList(inspectContainerResponse.getHostConfig().getDns()),
240+
contains(aDnsServer, anotherDnsServer));
241+
}
242+
222243
}

src/test/java/com/github/dockerjava/core/command/StartContainerCmdImplTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,15 @@ public void startContainerWithDns() throws DockerException {
101101

102102
CreateContainerResponse container = dockerClient
103103
.createContainerCmd("busybox")
104-
.withCmd("true").withDns(aDnsServer, anotherDnsServer).exec();
104+
.withCmd("true").exec();
105105

106106
LOG.info("Created container {}", container.toString());
107107

108108
assertThat(container.getId(), not(isEmptyString()));
109109

110-
InspectContainerResponse inspectContainerResponse = dockerClient
111-
.inspectContainerCmd(container.getId()).exec();
112-
113110
dockerClient.startContainerCmd(container.getId()).withDns(aDnsServer, anotherDnsServer).exec();
114111

115-
inspectContainerResponse = dockerClient.inspectContainerCmd(container
112+
InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container
116113
.getId()).exec();
117114

118115
assertThat(Arrays.asList(inspectContainerResponse.getHostConfig().getDns()),

0 commit comments

Comments
 (0)