From e7bac468b516c9f13d03cfabcd3c197acd14a311 Mon Sep 17 00:00:00 2001 From: Florian Grundig Date: Fri, 10 Jul 2015 16:25:24 +0200 Subject: [PATCH] Changed port to avoid conflict with jenkins II --- .../org/apache/mesos/mini/MesosCluster.java | 18 ++++++++++++++++-- .../org/apache/mesos/mini/DockerProxyTest.java | 4 ++-- .../apache/mesos/mini/MesosClusterTest.java | 1 + 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/apache/mesos/mini/MesosCluster.java b/src/main/java/org/apache/mesos/mini/MesosCluster.java index ab3e7cb1..f9f1f456 100644 --- a/src/main/java/org/apache/mesos/mini/MesosCluster.java +++ b/src/main/java/org/apache/mesos/mini/MesosCluster.java @@ -66,12 +66,26 @@ public void start() { * @param containerName The name of the image * @return The id of the container */ - public String addAndStartContainer(String containerName) { + public String addAndStartContainer(String containerName, PortBinding ... portBindings) { DockerUtil dockerUtil = new DockerUtil(config.dockerClient); dockerUtil.pullImage(containerName, "latest"); - CreateContainerCmd command = config.dockerClient.createContainerCmd(containerName); + + String name = containerName.replace("/","_"); + CreateContainerCmd command = config.dockerClient.createContainerCmd(containerName).withName(name); + if (portBindings != null) { + command.withPortBindings(portBindings); + } return dockerUtil.createAndStart(command); } + /** + * Pull and start a docker image. This container will be destroyed when the Mesos cluster is shut down. + * + * @param containerName The name of the image + * @return The id of the container + */ + public String addAndStartContainer(String containerName) { + return addAndStartContainer(containerName, null); + } public State getStateInfo() throws UnirestException { String json = Unirest.get("http://" + mesosContainer.getMesosMasterURL() + "/state.json").asString().getBody(); diff --git a/src/test/java/org/apache/mesos/mini/DockerProxyTest.java b/src/test/java/org/apache/mesos/mini/DockerProxyTest.java index 2d505085..ca51525a 100644 --- a/src/test/java/org/apache/mesos/mini/DockerProxyTest.java +++ b/src/test/java/org/apache/mesos/mini/DockerProxyTest.java @@ -57,7 +57,7 @@ public void testInstantiate() throws InterruptedException, UnirestException { class HelloWorldContainer extends AbstractContainer { public static final String HELLO_WORLD_IMAGE = "tutum/hello-world"; - public static final int PORT = 9599; + public static final int PORT = 80; protected HelloWorldContainer(DockerClient dockerClient) { super(dockerClient); @@ -70,7 +70,7 @@ protected void pullImage() { @Override protected CreateContainerCmd dockerCommand() { - return dockerClient.createContainerCmd(HELLO_WORLD_IMAGE).withName("hello-world").withPortBindings(PortBinding.parse("0.0.0.0:" + PORT + ":" + PORT)); + return dockerClient.createContainerCmd(HELLO_WORLD_IMAGE).withName("hello-world"); } } } diff --git a/src/test/java/org/apache/mesos/mini/MesosClusterTest.java b/src/test/java/org/apache/mesos/mini/MesosClusterTest.java index 891a16f6..f4f420d2 100644 --- a/src/test/java/org/apache/mesos/mini/MesosClusterTest.java +++ b/src/test/java/org/apache/mesos/mini/MesosClusterTest.java @@ -1,5 +1,6 @@ package org.apache.mesos.mini; +import com.github.dockerjava.api.model.PortBinding; import com.mashape.unirest.http.Unirest; import com.mashape.unirest.http.exceptions.UnirestException; import org.apache.mesos.mini.mesos.MesosClusterConfig;