From 167d00213ba174b6c44705ac44223ad02adf66a5 Mon Sep 17 00:00:00 2001 From: Wender Date: Tue, 5 Nov 2019 00:21:58 -0400 Subject: [PATCH] =?UTF-8?q?Altera=C3=A7oes=20no=20compose....?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Back-end/Dockerfile | 49 +++++++++++++++---- Back-end/Dockerfile-build | 16 ++++++ .../docker-compose.yml => docker-compose.yml | 6 +-- 3 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 Back-end/Dockerfile-build rename Back-end/docker-compose.yml => docker-compose.yml (92%) diff --git a/Back-end/Dockerfile b/Back-end/Dockerfile index 7e296c6..cf97379 100644 --- a/Back-end/Dockerfile +++ b/Back-end/Dockerfile @@ -1,10 +1,41 @@ -FROM java:8 -VOLUME /tmp -# Copia o .jar para dentro do container -ADD ./target/casafacilimoveis-0.0.1-SNAPSHOT.jar app.jar -# Expõe a porta 8080 +### BUILD image +FROM maven:3-jdk-11 as builder +#Copy Custom Maven settings +#COPY settings.xml /root/.m2/ +# create app folder for sources +RUN mkdir -p /build +WORKDIR /build +COPY pom.xml /build +#Download all required dependencies into one layer +RUN mvn -B dependency:resolve dependency:resolve-plugins +#RUN mvn dependency:resolve-plugins +#Copy source code +COPY src /build/src +# Build application +RUN mvn package -DskipTests + +### BUILD image +FROM openjdk:8 as runtime EXPOSE 8080 -# Executa -RUN bash -c 'touch /app.jar' -# Passa os comandos para o docker logo quando subir -ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] \ No newline at end of file +#Set app home folder +ENV APP_HOME /app +#Possibility to set JVM options (https://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html) +ENV JAVA_OPTS="" + +#Create base app folder +RUN mkdir $APP_HOME +#Create folder to save configuration files +RUN mkdir $APP_HOME/config +#Create folder with application logs +RUN mkdir $APP_HOME/log + +VOLUME $APP_HOME/log +VOLUME $APP_HOME/config + +WORKDIR $APP_HOME +#Copy executable jar file from the builder image +COPY --from=builder /build/target/*.jar app.jar + +ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar app.jar" ] +#Second option using shell form: +#ENTRYPOINT exec java $JAVA_OPTS -jar app.jar $0 $@ \ No newline at end of file diff --git a/Back-end/Dockerfile-build b/Back-end/Dockerfile-build new file mode 100644 index 0000000..d7fed32 --- /dev/null +++ b/Back-end/Dockerfile-build @@ -0,0 +1,16 @@ +FROM maven:3.5.4-jdk-10-slim +# Pasta de trabalho +WORKDIR /usr/src/java-code +# Copia o back-end para a pasta java-code +COPY . /usr/src/java-code/ +# Executa o comando package pulando os testes +RUN mvn package -DskipTests + +# Defini a pasta de trabalho +WORKDIR /usr/src/java-app +# Executa a cópia do jar gerado para o app.jar +RUN cp /usr/src/java-code/target/*.jar ./app.jar +# Expões a porta 8080 +EXPOSE 8080 +# Executa os comandos quando o app subir +CMD ["java", "-jar", "app.jar"] \ No newline at end of file diff --git a/Back-end/docker-compose.yml b/docker-compose.yml similarity index 92% rename from Back-end/docker-compose.yml rename to docker-compose.yml index ecd2f59..046fc8c 100644 --- a/Back-end/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,7 @@ services: - "15432:5432" # Mapeamento do volume de dados volumes: - - ../../Database:/var/lib/postgresql/data + - /Database:/var/lib/postgresql/data # Rede networks: - casa-facil-network @@ -40,11 +40,9 @@ services: # Parâmetros de build build: # Contexto da aplicação - context: . + context: ./Back-end # Localização do dockerfile dockerfile: ./Dockerfile - # Diretório do projeto - working_dir: / # Porta exposta ports: - "8080:8080"