From b7e91fb42797aa7453af7745cbd2004e23c65f46 Mon Sep 17 00:00:00 2001 From: Art Date: Sun, 26 Sep 2021 10:32:15 +0300 Subject: [PATCH] 34.3 Build and Run Docker image in Docker EC2 (#34, #32) --- README.md | 2 + support-portal-backend/pom.xml | 43 ++++++++++++++++++- .../src/main/docker/Dockerfile | 25 +++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 support-portal-backend/src/main/docker/Dockerfile diff --git a/README.md b/README.md index ac45627..554b6fb 100644 --- a/README.md +++ b/README.md @@ -281,6 +281,8 @@ systemctl restart docker - Allow port 3306 from `docker-security-group` - Attach SG to database in RDS `portal-db` +#### 34.3 Build and Run Docker image in Docker EC2 +- `mvn clean package docker:build docker:start` \ No newline at end of file diff --git a/support-portal-backend/pom.xml b/support-portal-backend/pom.xml index 51acd4b..3b628b7 100644 --- a/support-portal-backend/pom.xml +++ b/support-portal-backend/pom.xml @@ -18,6 +18,9 @@ 1.4.2.Final + artarkatesoft + angular-${project.artifactId} + @@ -122,7 +125,7 @@ lombok - true + support-portal @@ -157,6 +160,44 @@ + + io.fabric8 + docker-maven-plugin + 0.33.0 + + http://dockerapp.shyshkin.net:2375 + true + %a + + + ${docker.image.prefix}/${docker.image.name} + ${docker.image.name} + + + artifact + + Dockerfile + + latest + ${project.version} + + + + + 8080:8080 + + + aws-rds + + + always + + + + + + + diff --git a/support-portal-backend/src/main/docker/Dockerfile b/support-portal-backend/src/main/docker/Dockerfile new file mode 100644 index 0000000..48245bb --- /dev/null +++ b/support-portal-backend/src/main/docker/Dockerfile @@ -0,0 +1,25 @@ +FROM openjdk:11-jre-slim as builder +WORKDIR application +ADD maven/${project.build.finalName}.jar ${project.build.finalName}.jar +RUN java -Djarmode=layertools -jar ${project.build.finalName}.jar extract + +FROM openjdk:11-jre-slim + +RUN apt update && apt install -y curl + +HEALTHCHECK --interval=5s --timeout=2s --start-period=10s --retries=5 \ + CMD curl -f localhost:8080/actuator/health || false + +LABEL PROJECT_NAME=${project.artifactId} \ + PROJECT=${project.id} + +EXPOSE 8080 + +ENV SERVER_PORT=8080 + +WORKDIR application +COPY --from=builder application/dependencies/ ./ +COPY --from=builder application/spring-boot-loader/ ./ +COPY --from=builder application/snapshot-dependencies/ ./ +COPY --from=builder application/application/ ./ +ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "org.springframework.boot.loader.JarLauncher"] \ No newline at end of file