- JULIA MONTEIRO - RM: 557023
- LUCAS ASSIS FIALHO - RM: 557884
- SOFIA ANDRADE PETRUK - RM: 556585
Este projeto consiste em uma aplicação Java API containerizada que se conecta a um banco de dados MySQL, ambos orquestrados com Docker Compose.
A solução é composta por dois serviços principais:
- Java API Container → Responsável pela aplicação desenvolvida em Java (Spring Boot)
- MySQL Database Container → Banco de dados relacional utilizado pela aplicação
Ambos são gerenciados pelo Docker Compose.
-
Instale as dependências necessárias:
-
Clone o repositório:
git clone <URL_DO_REPOSITORIO> cd <PASTA_DO_PROJETO>
-
Verifique os arquivos principais:
docker-compose.yml→ Serviços (API + banco MySQL), volumes e redeDockerfile→ Build da aplicação Javaapplication.properties→ Configurações da aplicação
-
Suba os serviços:
docker-compose up -d
-
Acesse a aplicação:
- URL: http://localhost:8282
- Porta configurada: 8282
docker-compose up -ddocker-compose downdocker-compose build appdocker-compose logs -f appdocker-compose logs -f dbdocker ps-
Build da aplicação Java (se houver alterações no código):
docker-compose build app
-
Subir os serviços (API + MySQL):
docker-compose up -d
-
Verificar se estão rodando:
docker-compose ps
-
Testar a aplicação:
curl http://localhost:8282
- Verifique quais processos estão usando a porta
- Altere as portas no
docker-compose.ymlse necessário
- Confirme se
SPRING_DATASOURCE_USERNAMEeSPRING_DATASOURCE_PASSWORDestão corretos - Ajuste no
application.propertiesou nas variáveis de ambiente
- Verifique se o banco está saudável:
docker-compose ps
- Aguarde o healthcheck finalizar
docker-compose down -v
docker-compose up --buildExemplo de configuração para conectar ao MySQL via Docker:
# Database Configuration
spring.datasource.url=jdbc:mysql://db:3306/nome_do_banco
spring.datasource.username=root
spring.datasource.password=senha_do_banco
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JPA/Hibernate Configuration
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
# Server Configuration
server.port=8282projeto/
├── src/
│ └── main/
│ ├── java/
│ └── resources/
│ └── application.properties
├── docker-compose.yml
├── Dockerfile
└── README.md
Este projeto demonstra como utilizar Docker Compose para orquestrar uma aplicação Java API integrada a um banco MySQL, garantindo:
- Isolamento dos serviços
- Comunicação via rede interna
- Persistência de dados
- Deploy simplificado