Repository navigation
06 Passo a passo
Kleber Vales edited this page Feb 9, 2026
·
8 revisions
- FROM
Define a imagem base. Exemplo:
FROM ubuntu:22.04- LABEL
Adiciona metadados à imagem, como autor ou versão.
LABEL maintainer="kleber@example.com"- RUN
Executa comandos durante a construção da imagem.
RUN apt-get update && apt-get install -y python3- COPY / ADD
Copia arquivos do host para dentro da imagem.
COPY app.py /usr/src/app/- WORKDIR
Define o diretório de trabalho dentro da imagem.
WORKDIR /usr/src/app- ENV
Define variáveis de ambiente.
ENV PORT=5000- EXPOSE
Indica a porta que o container vai usar.
EXPOSE 5000- CMD
Define o comando padrão que será executado quando o container iniciar.
CMD ["python3", "app.py"]- ENTRYPOINT
Similar ao CMD, mas fixa o comando principal, permitindo argumentos adicionais.
ENTRYPOINT ["python3", "app.py"]-
Criar um Dockerfile
-
Criar o estágio de Build
FROM gradle:jdk21 AS build
WORKDIR /app
COPY build.gradle settings.gradle ./
COPY src ./src
RUN gradle clean bootJar -x test- Criar o estágio de execução
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY --from=build /app/build/libs/*.jar app.jar- Expor a porta
EXPOSE 8081- Define variáveis do Spring Security via ambiente (opcional, mas recomendado)
ENV SPRING_SECURITY_USER_NAME=admin
ENV SPRING_SECURITY_USER_PASSWORD=admin_passENTRYPOINT ["java", "-jar", "app.jar", "--server.port=8081"]