1
resposta

[DICA] Docker compose e migracao

Bom dia,

O projeto usa a diretiva spring.jpa.hibernate.ddl-auto=create-drop

Sugestao de docker-compose

version: '3.8'

services:
  postgres:
    image: postgres:15
    container_name: postgres_db
    restart: always
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: postgres
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

  kafka:
    image: apache/kafka-native
    container_name: kafka_broker
    restart: always
    environment:
      # Configure listeners for both docker and host communication
      KAFKA_LISTENERS: CONTROLLER://localhost:9091,HOST://0.0.0.0:9092,DOCKER://0.0.0.0:9093
      KAFKA_ADVERTISED_LISTENERS: HOST://localhost:9092,DOCKER://kafka:9093
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,DOCKER:PLAINTEXT,HOST:PLAINTEXT

      # Settings required for KRaft mode
      KAFKA_NODE_ID: 1
      KAFKA_PROCESS_ROLES: broker,controller
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9091

      # Listener to use for broker-to-broker communication
      KAFKA_INTER_BROKER_LISTENER_NAME: DOCKER

      # Required for a single node cluster
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    ports:
      - "9092:9092"      

  kafka-ui:
    image: kafbat/kafka-ui:main
    container_name: kafka_ui
    restart: always
    ports:
      - "8080:8080"
    environment:
      DYNAMIC_CONFIG_ENABLED: "true"
      KAFKA_CLUSTERS_0_NAME: local
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka_broker:9092
    depends_on:
      - kafka

volumes:
  postgres_data:
1 resposta

Oi, Estudante.

Agradeço por compartilhar.

Gostei da sua contribuição, importante notar como você relacionou o uso do docker-compose com o contexto do curso de Kafka e Spring, principalmente ao apontar o impacto da configuração spring.jpa.hibernate.ddl-auto=create-drop no ciclo de vida do banco durante os testes.

Sua sugestão ajuda outras pessoas a visualizarem melhor o ambiente completo da aplicação. Continue compartilhando esse tipo de dica, isso fortalece muito o aprendizado coletivo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!