diff --git a/mesos-marathon/Dockerfile b/mesos-marathon/Dockerfile
new file mode 100644
index 0000000000..ca79f2dc82
--- /dev/null
+++ b/mesos-marathon/Dockerfile
@@ -0,0 +1,4 @@
+FROM openjdk:8-jre-alpine
+ADD target/mesos-marathon-0.0.1-SNAPSHOT.jar app.jar
+EXPOSE 8082
+ENTRYPOINT ["java","-jar","/app.jar"]
\ No newline at end of file
diff --git a/mesos-marathon/dockerise.sh b/mesos-marathon/dockerise.sh
new file mode 100755
index 0000000000..50f5d38306
--- /dev/null
+++ b/mesos-marathon/dockerise.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -e
+docker login -u mogronalol -p $DOCKER_PASSWORD
+docker build -t baeldung/mesos-marathon-demo:$BUILD_NUMBER .
+docker push baeldung/mesos-marathon-demo:$BUILD_NUMBER
diff --git a/mesos-marathon/marathon.json b/mesos-marathon/marathon.json
new file mode 100644
index 0000000000..6471259e92
--- /dev/null
+++ b/mesos-marathon/marathon.json
@@ -0,0 +1,14 @@
+{
+ "id": "mesos-marathon-demo",
+ "container": {
+ "type": "DOCKER",
+ "docker": {
+ "image": "",
+ "network": "BRIDGE",
+ "portMappings": [
+ { "containerPort": 8082, "hostPort": 0 }
+ ]
+ },
+ "volumes": []
+ }
+}
\ No newline at end of file
diff --git a/mesos-marathon/pom.xml b/mesos-marathon/pom.xml
new file mode 100644
index 0000000000..ca17a5c4c4
--- /dev/null
+++ b/mesos-marathon/pom.xml
@@ -0,0 +1,46 @@
+
+
+ 4.0.0
+
+ com.baeldung
+ mesos-marathon
+ 0.0.1-SNAPSHOT
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.5.1.RELEASE
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 1.5.1.RELEASE
+
+
+
+ repackage
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mesos-marathon/src/main/java/com/mogronalol/DemoApplication.java b/mesos-marathon/src/main/java/com/mogronalol/DemoApplication.java
new file mode 100644
index 0000000000..f757178026
--- /dev/null
+++ b/mesos-marathon/src/main/java/com/mogronalol/DemoApplication.java
@@ -0,0 +1,14 @@
+package com.mogronalol;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+import javax.annotation.PostConstruct;
+
+@SpringBootApplication
+public class DemoApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(DemoApplication.class, args);
+ }
+}
diff --git a/mesos-marathon/src/main/java/com/mogronalol/HelloController.java b/mesos-marathon/src/main/java/com/mogronalol/HelloController.java
new file mode 100644
index 0000000000..2059280ba0
--- /dev/null
+++ b/mesos-marathon/src/main/java/com/mogronalol/HelloController.java
@@ -0,0 +1,17 @@
+package com.mogronalol;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController(value = "/")
+public class HelloController {
+
+ @GetMapping
+ @ResponseBody
+ public String getMapping() {
+ return "Hello world";
+ }
+
+}
diff --git a/mesos-marathon/src/main/resources/application.properties b/mesos-marathon/src/main/resources/application.properties
new file mode 100644
index 0000000000..8d51d0c619
--- /dev/null
+++ b/mesos-marathon/src/main/resources/application.properties
@@ -0,0 +1 @@
+server.port=8082
\ No newline at end of file
diff --git a/mesos-marathon/src/test/java/com/mogronalol/DemoApplicationTests.java b/mesos-marathon/src/test/java/com/mogronalol/DemoApplicationTests.java
new file mode 100644
index 0000000000..5e88f9a70f
--- /dev/null
+++ b/mesos-marathon/src/test/java/com/mogronalol/DemoApplicationTests.java
@@ -0,0 +1,34 @@
+package com.mogronalol;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.context.embedded.LocalServerPort;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.web.client.RestTemplate;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringBootTest(classes = {DemoApplication.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class DemoApplicationTests {
+
+ private RestTemplate restTemplate;
+
+ @LocalServerPort
+ private int port;
+
+ @Before
+ public void setUp() {
+ restTemplate = new RestTemplate();
+ }
+
+ @Test
+ public void contextLoads() {
+ final String result = restTemplate.getForObject("http://localhost:" + port + "/", String.class);
+ assertThat(result).isEqualTo("Hello world");
+ }
+
+}
diff --git a/pom.xml b/pom.xml
index 2392e2c594..9eb4e78dbf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,6 +81,7 @@
mapstruct
metrics
+ mesos-marathon
mockito
mocks