🐳 Docker - ecosif-querys
📋 Visão Geral
Este documento descreve como usar Docker para executar o serviço ecosif-querys em containers.
🏗️ Dockerfile
O projeto possui um Dockerfile otimizado usando multi-stage build:
Características
- ✅ Multi-stage build para otimizar tamanho da imagem
- ✅ Amazon Corretto 17 (Alpine) para runtime
- ✅ Usuário não-root para segurança
- ✅ Health check integrado
- ✅ Datadog APM configurado
- ✅ Otimizações JVM para containers
Estrutura
# Stage 1: Build
FROM maven:3.9-amazoncorretto-17 AS builder
# ... compilação ...
# Stage 2: Runtime
FROM amazoncorretto:17-alpine3.18
# ... configuração runtime ...
🚀 Como Usar
Opção 1: Docker Compose (Recomendado)
1. Configurar Variáveis de Ambiente
Crie um arquivo .env na raiz do projeto:
# Database
POSTGRES_HOST=db
POSTGRES_PORT=5432
POSTGRES_DB=ecosif
POSTGRES_USER=postgres
POSTGRES_PASSWORD=senha123
# Server
ECOSIF_QUERYS_PORT=8081
# Security
AUTH_TOKEN_SECRET=your-secret-key-here
TOKEN_EXPIRATION=86400000
ECOSIF_CORS=http://localhost:4200
# JPA/Hibernate
HIBERNATE_DDL_AUTO=validate
ECOSIF_FLYWAY_ENABLED=true
# Logging
ECOSIF_LOGSHOW=false
LOG_FORMAT=default
2. Build e Executar
# Build e iniciar containers
docker-compose up -d
# Ver logs
docker logs -f ecosif-querys
# Parar containers
docker-compose down
Opção 2: Docker Build Manual
# Build
docker build -t ecosif-querys:latest .
# Executar
docker run -d \
--name ecosif-querys \
-p 8081:8081 \
-e POSTGRES_HOST=host.docker.internal \
-e POSTGRES_PORT=5432 \
-e POSTGRES_DB=ecosif \
-e ECOSIF_QUERYS_PORT=8081 \
ecosif-querys:latest
📊 Comandos Úteis
# Logs
docker logs -f ecosif-querys
# Health check
curl http://localhost:8081/actuator/health
# Reiniciar
docker-compose restart ecosif-querys
Última Atualização: 2025-11-27