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
- Ouvrez DBeaver.
- Cliquez sur New Database Connection.
- Sélectionnez PostgreSQL comme type de base de données.
- Remplissez les champs :
- Host:
localhost - Port:
5432 - Database:
myapp - Username:
myuser - Password:
mypassword
- Host:
- Cliquez sur Test Connection pour vérifier que la connexion fonctionne.
- 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