2025 09 30 090041

Comment configurer une base de données PostgreSQL avec Docker#

Dans ce tutoriel, nous allons apprendre à configurer une base de données PostgreSQL à l’aide de Docker. Docker permet de créer des environnements isolés et reproductibles, ce qui est idéal pour le développement et le déploiement.

Avant de commencer#

Assurez-vous d’avoir les éléments suivants installés sur votre machine :

  • Docker
  • Un éditeur de texte ou un IDE (comme VS Code)

Étape 1 : Créer un fichier docker-compose.yml#

Créez un fichier nommé docker-compose.yml dans votre projet. Ajoutez le contenu suivant :

version: '3.8'

services:
  db:
    image: postgres:15
    container_name: postgres_db
    environment:
      POSTGRES_DB: myapp
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  postgres_data:

Étape 2 : Lancer le conteneur PostgreSQL#

Ouvrez un terminal dans le répertoire contenant le fichier docker-compose.yml et exécutez la commande suivante :

docker-compose up -d

Cette commande lance PostgreSQL en arrière-plan. Vous pouvez vérifier que le conteneur est en cours d’exécution avec :

docker-compose ps

Étape 3 : Se connecter à la base de données#

Vous pouvez vous connecter à la base de données PostgreSQL à l’aide de l’outil psql ou d’un client graphique comme DBeaver.

Utilisation de psql#

Exécutez la commande suivante dans votre terminal :

docker exec -it postgres_db psql -U myuser -d myapp

Vous devriez voir un prompt myapp=>, indiquant que vous êtes connecté.

Utilisation d’un client graphique#

  1. Ouvrez DBeaver.
  2. Cliquez sur New Database Connection.
  3. Sélectionnez PostgreSQL comme type de base de données.
  4. Remplissez les champs :
    • Host: localhost
    • Port: 5432
    • Database: myapp
    • Username: myuser
    • Password: mypassword
  5. Cliquez sur Test Connection pour vérifier que la connexion fonctionne.
  6. Cliquez sur Finish pour enregistrer la connexion.

Étape 4 : Créer une table de test#

Une fois connecté, exécutez la commande SQL suivante pour créer une table de test :

CREATE TABLE test_table (
  id SERIAL PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Ajoutez quelques données :

INSERT INTO test_table (name) VALUES ('Alice'), ('Bob');

Vérifiez que les données ont été insérées :

SELECT * FROM test_table;

Nettoyage#

Pour arrêter le conteneur PostgreSQL, exécutez :

docker-compose down

Pour supprimer les volumes persistants (attention, cela supprime toutes les données), utilisez :

docker-compose down -v

Conclusion#

Vous avez maintenant configuré une base de données PostgreSQL avec Docker. Cette méthode est rapide, reproductible et idéale pour les projets de développement. Vous pouvez facilement partager ce fichier docker-compose.yml avec votre équipe pour garantir une configuration identique sur tous les environnements.

Pour en savoir plus, consultez la documentation officielle de PostgreSQL.


Publié le 15 mai 2024