diff --git a/spring-cloud/spring-cloud-config/docker/Dockerfile b/spring-cloud/spring-cloud-config/docker/Dockerfile
deleted file mode 100644
index bdb37abf80..0000000000
--- a/spring-cloud/spring-cloud-config/docker/Dockerfile
+++ /dev/null
@@ -1,4 +0,0 @@
-FROM alpine:edge
-MAINTAINER baeldung.com
-RUN apk add --no-cache openjdk8
-COPY files/UnlimitedJCEPolicyJDK8/* /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/
diff --git a/spring-cloud/spring-cloud-config/docker/Dockerfile.client b/spring-cloud/spring-cloud-config/docker/Dockerfile.client
deleted file mode 100644
index 5fbc0b98c0..0000000000
--- a/spring-cloud/spring-cloud-config/docker/Dockerfile.client
+++ /dev/null
@@ -1,6 +0,0 @@
-FROM alpine-java:base
-MAINTAINER baeldung.com
-RUN apk --no-cache add netcat-openbsd
-COPY files/config-client.jar /opt/spring-cloud/lib/
-COPY files/config-client-entrypoint.sh /opt/spring-cloud/bin/
-RUN chmod 755 /opt/spring-cloud/bin/config-client-entrypoint.sh
diff --git a/spring-cloud/spring-cloud-config/docker/Dockerfile.server b/spring-cloud/spring-cloud-config/docker/Dockerfile.server
deleted file mode 100644
index 4f7bd751e8..0000000000
--- a/spring-cloud/spring-cloud-config/docker/Dockerfile.server
+++ /dev/null
@@ -1,9 +0,0 @@
-FROM alpine-java:base
-MAINTAINER baeldung.com
-COPY files/config-server.jar /opt/spring-cloud/lib/
-ENV SPRING_APPLICATION_JSON='{"spring": {"cloud": {"config": {"server": \
- {"git": {"uri": "/var/lib/spring-cloud/config-repo", "clone-on-start": true}}}}}}'
-ENTRYPOINT ["/usr/bin/java"]
-CMD ["-jar", "/opt/spring-cloud/lib/config-server.jar"]
-VOLUME /var/lib/spring-cloud/config-repo
-EXPOSE 8888
diff --git a/spring-cloud/spring-cloud-config/docker/config-client-entrypoint.sh b/spring-cloud/spring-cloud-config/docker/config-client-entrypoint.sh
deleted file mode 100644
index 12352119fa..0000000000
--- a/spring-cloud/spring-cloud-config/docker/config-client-entrypoint.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-while ! nc -z config-server 8888 ; do
- echo "Waiting for upcoming Config Server"
- sleep 2
-done
-
-java -jar /opt/spring-cloud/lib/config-client.jar
diff --git a/spring-cloud/spring-cloud-config/docker/docker-compose.scale.yml b/spring-cloud/spring-cloud-config/docker/docker-compose.scale.yml
deleted file mode 100644
index f74153bea3..0000000000
--- a/spring-cloud/spring-cloud-config/docker/docker-compose.scale.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-version: '2'
-services:
- config-server:
- build:
- context: .
- dockerfile: Dockerfile.server
- image: config-server:latest
- expose:
- - 8888
- networks:
- - spring-cloud-network
- volumes:
- - spring-cloud-config-repo:/var/lib/spring-cloud/config-repo
- logging:
- driver: json-file
- config-client:
- build:
- context: .
- dockerfile: Dockerfile.client
- image: config-client:latest
- entrypoint: /opt/spring-cloud/bin/config-client-entrypoint.sh
- environment:
- SPRING_APPLICATION_JSON: '{"spring": {"cloud": {"config": {"uri": "http://config-server:8888"}}}}'
- expose:
- - 8080
- ports:
- - 8080
- networks:
- - spring-cloud-network
- links:
- - config-server:config-server
- depends_on:
- - config-server
- logging:
- driver: json-file
-networks:
- spring-cloud-network:
- driver: bridge
-volumes:
- spring-cloud-config-repo:
- external: true
diff --git a/spring-cloud/spring-cloud-config/docker/docker-compose.yml b/spring-cloud/spring-cloud-config/docker/docker-compose.yml
deleted file mode 100644
index 74c71b651c..0000000000
--- a/spring-cloud/spring-cloud-config/docker/docker-compose.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-version: '2'
-services:
- config-server:
- container_name: config-server
- build:
- context: .
- dockerfile: Dockerfile.server
- image: config-server:latest
- expose:
- - 8888
- networks:
- - spring-cloud-network
- volumes:
- - spring-cloud-config-repo:/var/lib/spring-cloud/config-repo
- logging:
- driver: json-file
- config-client:
- container_name: config-client
- build:
- context: .
- dockerfile: Dockerfile.client
- image: config-client:latest
- entrypoint: /opt/spring-cloud/bin/config-client-entrypoint.sh
- environment:
- SPRING_APPLICATION_JSON: '{"spring": {"cloud": {"config": {"uri": "http://config-server:8888"}}}}'
- expose:
- - 8080
- ports:
- - 8080:8080
- networks:
- - spring-cloud-network
- links:
- - config-server:config-server
- depends_on:
- - config-server
- logging:
- driver: json-file
-networks:
- spring-cloud-network:
- driver: bridge
-volumes:
- spring-cloud-config-repo:
- external: true
diff --git a/spring-cloud/spring-cloud-docker/docker-compose-scale.yml b/spring-cloud/spring-cloud-docker/docker-compose-scale.yml
new file mode 100644
index 0000000000..9035a16d7e
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-compose-scale.yml
@@ -0,0 +1,23 @@
+version: '2'
+services:
+ message-server:
+ build:
+ context: docker-message-server
+ dockerfile: Dockerfile
+ image: message-server:latest
+ ports:
+ - 18800-18888:8888
+ networks:
+ - spring-cloud-network
+ product-server:
+ build:
+ context: docker-product-server
+ dockerfile: Dockerfile
+ image: product-server:latest
+ ports:
+ - 19900-19999:9999
+ networks:
+ - spring-cloud-network
+networks:
+ spring-cloud-network:
+ driver: bridge
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-docker/docker-compose.yml b/spring-cloud/spring-cloud-docker/docker-compose.yml
new file mode 100644
index 0000000000..d485f93631
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-compose.yml
@@ -0,0 +1,25 @@
+version: '2'
+services:
+ message-server:
+ container_name: message-server
+ build:
+ context: docker-message-server
+ dockerfile: Dockerfile
+ image: message-server:latest
+ ports:
+ - 18888:8888
+ networks:
+ - spring-cloud-network
+ product-server:
+ container_name: product-server
+ build:
+ context: docker-product-server
+ dockerfile: Dockerfile
+ image: product-server:latest
+ ports:
+ - 19999:9999
+ networks:
+ - spring-cloud-network
+networks:
+ spring-cloud-network:
+ driver: bridge
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/Dockerfile b/spring-cloud/spring-cloud-docker/docker-message-server/Dockerfile
new file mode 100644
index 0000000000..73f55c8923
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-message-server/Dockerfile
@@ -0,0 +1,4 @@
+FROM openjdk:8-jdk-alpine
+MAINTAINER baeldung.com
+COPY target/docker-message-server-1.0.0.jar message-server.jar
+ENTRYPOINT ["java","-jar","/message-server.jar"]
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/pom.xml b/spring-cloud/spring-cloud-docker/docker-message-server/pom.xml
new file mode 100644
index 0000000000..fafd291c00
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-message-server/pom.xml
@@ -0,0 +1,55 @@
+
+
+
+ 4.0.0
+ docker-message-server
+ docker-message-server
+ 1.0.0
+
+
+ com.baeldung.spring.cloud
+ spring-cloud-docker
+ 1.0.0-SNAPSHOT
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ test
+
+
+ org.hamcrest
+ hamcrest-core
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerMessageController.java b/spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerMessageController.java
new file mode 100644
index 0000000000..71d630da8f
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerMessageController.java
@@ -0,0 +1,12 @@
+package com.baeldung.spring.cloud.config.docker;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class DockerMessageController {
+ @GetMapping("/messages")
+ public String getMessage() {
+ return "Hello from Docker!";
+ }
+}
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java b/spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
new file mode 100644
index 0000000000..38bd4d9541
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-message-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
@@ -0,0 +1,11 @@
+package com.baeldung.spring.cloud.config.docker;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DockerServer {
+ public static void main(String[] args) {
+ SpringApplication.run(DockerServer.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-docker/docker-message-server/src/main/resources/application.properties b/spring-cloud/spring-cloud-docker/docker-message-server/src/main/resources/application.properties
new file mode 100644
index 0000000000..7e41f5877f
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-message-server/src/main/resources/application.properties
@@ -0,0 +1,3 @@
+server.port=8888
+spring.security.user.name=root
+spring.security.user.password=docker!
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/Dockerfile b/spring-cloud/spring-cloud-docker/docker-product-server/Dockerfile
new file mode 100644
index 0000000000..80117e4ae1
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-product-server/Dockerfile
@@ -0,0 +1,4 @@
+FROM openjdk:8-jdk-alpine
+MAINTAINER baeldung.com
+COPY target/docker-product-server-1.0.0.jar product-server.jar
+ENTRYPOINT ["java","-jar","/product-server.jar"]
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/pom.xml b/spring-cloud/spring-cloud-docker/docker-product-server/pom.xml
new file mode 100644
index 0000000000..a5bd6c50ea
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-product-server/pom.xml
@@ -0,0 +1,55 @@
+
+
+
+ 4.0.0
+ docker-product-server
+ docker-product-server
+ 1.0.0
+
+
+ com.baeldung.spring.cloud
+ spring-cloud-docker
+ 1.0.0-SNAPSHOT
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ test
+
+
+ org.hamcrest
+ hamcrest-core
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerProductController.java b/spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerProductController.java
new file mode 100644
index 0000000000..15781f763b
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerProductController.java
@@ -0,0 +1,12 @@
+package com.baeldung.spring.cloud.config.docker;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class DockerProductController {
+ @GetMapping("/products")
+ public String getMessage() {
+ return "A brand new product";
+ }
+}
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java b/spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
new file mode 100644
index 0000000000..38bd4d9541
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-product-server/src/main/java/com/baeldung/spring/cloud/config/docker/DockerServer.java
@@ -0,0 +1,11 @@
+package com.baeldung.spring.cloud.config.docker;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class DockerServer {
+ public static void main(String[] args) {
+ SpringApplication.run(DockerServer.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-docker/docker-product-server/src/main/resources/application.properties b/spring-cloud/spring-cloud-docker/docker-product-server/src/main/resources/application.properties
new file mode 100644
index 0000000000..f62c8d0bab
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/docker-product-server/src/main/resources/application.properties
@@ -0,0 +1,3 @@
+server.port=9999
+spring.security.user.name=root
+spring.security.user.password=docker!
diff --git a/spring-cloud/spring-cloud-docker/pom.xml b/spring-cloud/spring-cloud-docker/pom.xml
new file mode 100644
index 0000000000..a9d978c9d4
--- /dev/null
+++ b/spring-cloud/spring-cloud-docker/pom.xml
@@ -0,0 +1,28 @@
+
+
+
+ 4.0.0
+ spring-cloud-docker
+ spring-cloud-docker
+ 1.0.0-SNAPSHOT
+ pom
+
+
+ com.baeldung.spring.cloud
+ spring-cloud
+ 1.0.0-SNAPSHOT
+
+
+
+ 8
+ 8
+
+
+
+ docker-message-server
+ docker-product-server
+
+
+
\ No newline at end of file