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