From 8c34b969fd3fba30f040832e622b8032cc5306f4 Mon Sep 17 00:00:00 2001 From: VladislavTitarenko Date: Wed, 19 Jul 2023 22:59:18 +0300 Subject: [PATCH 1/3] Building docker images using Fabric8 and push to the Docker Hub --- .maven-dockerignore | 1 + Dockerfile | 7 +++ pom.xml | 60 ++++++++++++++++++++++++- src/main/docker/DockerfileTemplate | 7 +++ src/main/scripts/BuildDockerfile.groovy | 14 ++++++ 5 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 .maven-dockerignore create mode 100644 Dockerfile create mode 100644 src/main/docker/DockerfileTemplate create mode 100644 src/main/scripts/BuildDockerfile.groovy diff --git a/.maven-dockerignore b/.maven-dockerignore new file mode 100644 index 0000000..c2c4a5a --- /dev/null +++ b/.maven-dockerignore @@ -0,0 +1 @@ +target/** \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c9860d2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:8 + +WORKDIR /app +COPY maven/spring-boot-docker-0.0.2-SNAPSHOT.jar /app/my-app.jar + +EXPOSE 8080 +CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/my-app.jar"] \ No newline at end of file diff --git a/pom.xml b/pom.xml index 6253b12..380215d 100755 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ guru.springframework spring-boot-docker - 0.0.1-SNAPSHOT + 0.0.2-SNAPSHOT jar spring-boot-docker @@ -21,6 +21,8 @@ UTF-8 1.8 + tetarrrr + springbootdocker @@ -52,6 +54,62 @@ org.springframework.boot spring-boot-maven-plugin + + io.fabric8 + docker-maven-plugin + 0.20.0 + + + npipe:////./pipe/docker_engine + true + + + ${docker.image.prefix}/${docker.image.name} + + ${project.basedir}/target/dockerfile + + artifact + + + latest + ${project.version} + + + + + 8080:8080 + + + + + + + + org.codehaus.gmavenplus + gmavenplus-plugin + 1.5 + + + prepare-package + + execute + + + + + + + + + + + org.codehaus.groovy + groovy-all + 2.4.8 + runtime + + + diff --git a/src/main/docker/DockerfileTemplate b/src/main/docker/DockerfileTemplate new file mode 100644 index 0000000..bd097fc --- /dev/null +++ b/src/main/docker/DockerfileTemplate @@ -0,0 +1,7 @@ +FROM openjdk:8 + +WORKDIR /app +COPY maven/${fileName}.jar /app/my-app.jar + +EXPOSE 8080 +CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/my-app.jar"] \ No newline at end of file diff --git a/src/main/scripts/BuildDockerfile.groovy b/src/main/scripts/BuildDockerfile.groovy new file mode 100644 index 0000000..ebd8d3a --- /dev/null +++ b/src/main/scripts/BuildDockerfile.groovy @@ -0,0 +1,14 @@ +String baseDir = System.getProperty("user.dir") + +def template = new File("\\src\\main\\docker\\DockerfileTemplate").text + +def dockerFileText = new groovy.text.SimpleTemplateEngine().createTemplate(template) + .make([fileName: project.build.finalName]) + +new File(baseDir + "\\target\\dockerfile").mkdirs() + +File dockerFile = new File(baseDir + "\\target\\dockerfile\\Dockerfile") + +dockerFile.withWriter("UTF-8") { writer -> + writer.write(dockerFileText) +} From 85e05976285a206ee3cdf15046999d535104df75 Mon Sep 17 00:00:00 2001 From: VladislavTitarenko Date: Wed, 19 Jul 2023 23:01:53 +0300 Subject: [PATCH 2/3] Refactoring --- Dockerfile | 2 +- src/main/docker/DockerfileTemplate | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index c9860d2..5dd5ec2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,4 +4,4 @@ WORKDIR /app COPY maven/spring-boot-docker-0.0.2-SNAPSHOT.jar /app/my-app.jar EXPOSE 8080 -CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/my-app.jar"] \ No newline at end of file +CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/my-app.jar"] diff --git a/src/main/docker/DockerfileTemplate b/src/main/docker/DockerfileTemplate index bd097fc..56a5a66 100644 --- a/src/main/docker/DockerfileTemplate +++ b/src/main/docker/DockerfileTemplate @@ -4,4 +4,4 @@ WORKDIR /app COPY maven/${fileName}.jar /app/my-app.jar EXPOSE 8080 -CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/my-app.jar"] \ No newline at end of file +CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/my-app.jar"] From bb7645748837c90e636da8adb963c9080fc14434 Mon Sep 17 00:00:00 2001 From: VladislavTitarenko Date: Thu, 20 Jul 2023 23:41:47 +0300 Subject: [PATCH 3/3] build and run some docker images --- pom.xml | 71 +++++++++++++++++++++++ src/main/resources/application.properties | 1 + 2 files changed, 72 insertions(+) diff --git a/pom.xml b/pom.xml index 380215d..835487a 100755 --- a/pom.xml +++ b/pom.xml @@ -26,6 +26,11 @@ + + guru.springframework + page-view-client + 0.0.2 + org.springframework.boot spring-boot-starter-thymeleaf @@ -79,6 +84,72 @@ 8080:8080 + + rabbitmq:rabbitmq + + + rabbitmq + + + rabbitmq + pageviewservice + + + + + mysql:5.7 + mysqldb + + + 3306:3306 + + + pageviewservice + yes + + + + + + + + rabbitmq:3-management + rabbitmq + + + 5671 + 5672 + 4369 + 23672 + + + + + + + + springframeworkguru/pageviewservice + pageviewservice + + + 8081:8081 + + + rabbitmq:rabbitmq + mysqldb:mysqldb + + + jdbc:mysql://mysqldb:3306/pageviewservice?useSSL=false + mysql + rabbitmq + + + rabbitmq + mysqldb + + + + diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e69de29..bf524aa 100755 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.rabbitmq.host= \ No newline at end of file