Pourquoi installer ces outils localement si l’on peut utiliser Docker ?
L’un des grands atouts de Docker est la facilité d’utiliser différents outils et leurs combinaisons (y compris dans diverses versions) de manière simple et pratique. Il en va de même lorsque l’on parle de PostgreSQL et de son outil graphique, PgAdmin.
Dans cet article (et dans la vidéo ci-dessous) je vous explique comment monter une instance de PostgreSQL et de PgAdmin et les utiliser ensemble.
Spoiler : les commandes sont simples, mais elles impliquent des notions avancées de Docker ! Suivez ici !
Je pars du principe que vous avez déjà Docker installé et fonctionnant sur votre machine. Pour lancer une instance de PostgreSQL, on peut utiliser la commande :
docker run --name my-postgres -p 5433:5432 -e POSTGRES_PASSWORD=postgres -d postgres |
Cette commande crée un conteneur nommé my-postgres mappé sur le port 5433 de la machine hôte vers le port 5432 du conteneur (port par défaut de PostgreSQL). On utilise la variable POSTGRES_PASSWORD pour attribuer un mot de passe à l’utilisateur postgres de la base. Enfin, nous utilisons postgres pour lancer la dernière version de PostgreSQL.
Une fois le conteneur opérationnel, vous pouvez y accéder via localhost:5433 ! Et voilà, nous disposons d’une base PostgreSQL fonctionnelle prête à l’emploi.
Mais comment créer une image PgAdmin pour pouvoir administrer cette base de données ? La commande est aussi simple, même si elle est un peu plus longue que la précédente :
docker run --name my-pgadmin -p 15432:80 -e [email protected] -e PGADMIN_DEFAULT_PASSWORD=postgres -d dpage/pgadmin4 |
Les seules différences ici concernent les ports mappés et les variables requises. PgAdmin exige les variables PGADMIN_DEFAULT_EMAIL et PGADMIN_DEFAULT_PASSWORD. Si tout se passe bien, nous pouvons accéder à son interface web via localhost:15432 !
Tout semble prometteur jusqu’au moment où vous tentez d’accéder à la base de données dans le conteneur.





