Come usare PostgreSQL in Docker con Docker Compose e Java

PostgreSQL è un database relazionale potente e open-source. Utilizzarlo con Docker e Docker Compose facilita il deployment e la gestione. In questo articolo, vedremo come configurare PostgreSQL in Docker utilizzando Docker Compose e come interagire con esso utilizzando un'applicazione Java.

Prerequisiti

  • Docker e Docker Compose installati
  • Java 8+ configurato nel sistema

Configurare Docker Compose

Crea un file docker-compose.yml con il seguente contenuto:

version: '3.8'
services:
  postgres:
    image: postgres:latest
    container_name: postgres_container
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: exampledb
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data:

Questo file configura un'istanza PostgreSQL con credenziali predefinite e un database chiamato exampledb.

Avviare il Servizio PostgreSQL

  1. Esegui il comando docker compose up -d per avviare il container PostgreSQL in background.
  2. Verifica che il servizio sia attivo con docker ps.

Configurare un'Applicazione Java

Crea un progetto Maven con il seguente pom.xml per includere le dipendenze necessarie:

<dependencies>
  <dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.6.0</version>
  </dependency>
</dependencies>

Crea una classe Java per connettersi al database:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DatabaseConnection {
    private static final String URL = "jdbc:postgresql://localhost:5432/exampledb";
    private static final String USER = "user";
    private static final String PASSWORD = "password";

    public static void main(String[] args) {
        try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) {
            System.out.println("Connessione al database riuscita!");
        } catch (SQLException e) {
            System.out.println("Errore durante la connessione al database: " + e.getMessage());
        }
    }
}

Testare la Connessione

  1. Compila ed esegui la classe Java.
  2. Se tutto è configurato correttamente, dovresti vedere il messaggio "Connessione al database riuscita!" nella console.

Conclusione

Abbiamo visto come configurare PostgreSQL con Docker Compose e come interagire con esso utilizzando Java. Questa configurazione può essere utilizzata per sviluppare applicazioni robuste e scalabili.

Torna su