Skip to content

Instantly share code, notes, and snippets.

@pedrovasconcellos
Created August 22, 2024 21:47
Show Gist options
  • Save pedrovasconcellos/5d70ae77fd040ce76800937314b671fa to your computer and use it in GitHub Desktop.
Save pedrovasconcellos/5d70ae77fd040ce76800937314b671fa to your computer and use it in GitHub Desktop.
DockerFile App Java
# Use a base image com Java 11
FROM openjdk:11-jdk-slim
# Define o mantenedor do Dockerfile
LABEL maintainer="pedro@vasconcellos.solutions"
# Atualiza os pacotes e instala o Maven
RUN apt-get update && apt-get install -y maven
# Cria um diretório para a aplicação
RUN mkdir -p /usr/src/app
# Define o diretório de trabalho
WORKDIR /usr/src/app
# Copia o arquivo pom.xml e outros arquivos de configuração do Maven
COPY pom.xml /usr/src/app
# Baixa as dependências do Maven
RUN mvn dependency:go-offline -B
# Copia o restante do código da aplicação
COPY . /usr/src/app
# Compila o projeto
RUN mvn clean install -DskipTests
ARG SPRING_PROFILES_ACTIVE
ENV SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE}
# Define o comando de inicialização do container
# Comando 1: docker build --build-arg SPRING_PROFILES_ACTIVE=homolog -t vasc-app .
# Comando 2: docker run -d --name vasc-app-container -p 8080:8080 vasc-app
CMD ["java", "-jar", "target/vasc-app-1.0.0.jar"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment