summaryrefslogtreecommitdiffstats
path: root/docker-api/src
diff options
context:
space:
mode:
authortoby <smorgrav@yahoo-inc.com>2018-01-17 12:18:13 +0100
committertoby <smorgrav@yahoo-inc.com>2018-01-17 12:18:13 +0100
commitb02ff5c059440a2a7b178d30c3147e9ce879a282 (patch)
tree495f43994866c8a0070703109f917fc0fa3cb215 /docker-api/src
parentb4cfff593be0221764f0b70f0621d60e9c17b0e4 (diff)
Apply NAT to all interfaces and set container /etc/hosts
Diffstat (limited to 'docker-api/src')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java9
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java1
2 files changed, 9 insertions, 1 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
index 485de99082b..62bc78dcfce 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
@@ -39,6 +39,7 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
private Optional<String[]> entrypoint = Optional.empty();
private Set<Capability> addCapabilities = new HashSet<>();
private Set<Capability> dropCapabilities = new HashSet<>();
+ private List<String> extraHosts = new ArrayList<>();
CreateContainerCommandImpl(DockerClient docker,
DockerImage dockerImage,
@@ -88,7 +89,6 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
return this;
}
-
@Override
public Docker.CreateContainerCommand withEnvironment(String name, String value) {
assert name.indexOf('=') == -1;
@@ -110,6 +110,12 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
}
@Override
+ public Docker.CreateContainerCommand withExtraHost(String hostname, String ip) {
+ extraHosts.add(hostname + ":" + ip);
+ return this;
+ }
+
+ @Override
public Docker.CreateContainerCommand withIpAddress(InetAddress address) {
if (address instanceof Inet6Address) {
ipv6Address = Optional.of(address.getHostAddress());
@@ -140,6 +146,7 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
.withLabels(labels)
.withEnv(environmentAssignments)
.withBinds(volumeBinds)
+ .withExtraHosts(extraHosts)
.withUlimits(ulimits)
.withCapAdd(new ArrayList<>(addCapabilities))
.withCapDrop(new ArrayList<>(dropCapabilities));
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
index b30b1f96dbb..6fc9472a30e 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java
@@ -28,6 +28,7 @@ public interface Docker {
CreateContainerCommand withManagedBy(String manager);
CreateContainerCommand withAddCapability(String capabilityName);
CreateContainerCommand withDropCapability(String capabilityName);
+ CreateContainerCommand withExtraHost(String hostname, String ip);
void create();
}