Mettre rapidement place une base de données PostgreSQL à l’aide de docker

Lorsque l’on développe, il est agréable d’avoir une instance de bases de données dédiées uniquement à notre développement. Le cœur permet très facilement de mettre en place instance dont nous avons besoin.

Description du fichier « docker-compose.yml »

La création du conteneur se fera avec l’image officielle de PostgreSQL présent sur « docker hub ».

La mise en place du conteneur se fera à l’aide de cœur compose. Cet utilitaire permet de créer le conteneur à l’aide d’un fichier de configuration « YAML » qui permet de valoriser l’ensemble des variables d’environnement proposé par l’image.

Les variables d’environnements qui nous intéressent sont les suivantes :

  • POSTGRES_USER :Nom de l’utilisateur qui possède l’ensemble des droits sur la base ;
  • POSTGRES_PASSWORD :Mot de passe de l’utilisateur ;
  • POSTGRES_DB :Nom de la base de données ;

L’image utilisée offre la possibilité de « mapper » le dossier « /var/lib/postgresql » sur un point de montage extérieur à l’image. Ce dossier contient les données de la base. Le point de montage retenu est « ./docker/postgresql/lib ». On notera que certaines images offrent plus de possibilités de « mapping » (fichiers de configurations…).

L’image propose d’autres variables d’environnement qui ne nous intéresse pas pour l’instant. La liste exhaustive de ces variables sont disponibles sur le site de « docker hub ».

Le fichier de configuration « docker-compose.yml » sera donc le suivant :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
PostgreSQL:
    restart: always
    image: postgres
 
    ports:
        - "5432:5432"
 
    environment:
        - POSTGRES_USER=user
        - POSTGRES_PASSWORD=mdp
        - POSTGRES_DB=base
 
    volumes:
        - ./docker/postgresql/lib:/var/lib/postgresql

Création et lancement du conteneur PostgreSQL

La prochaine étape consiste à « créer » le conteneur avec la commande « create ». Cela lance le téléchargement des images et la création à proprement parlé du conteneur.

docker-compose create

Il ne reste plus qu’à lancer le conteneur pour le tester.

docker-compose start

On peut vérifier que ce dernier est correctement lancé avec la commande suivante :

docker ps -al

La commande retourne les informations sur les conteneurs en mémoire et sur leur état.

Tester le conteneur avec le client « PostgreSQL »

Si besoin, installer le client « PostgreSQL » sur sa machine :

sudo apt-get install postgresql

Il est maintenant possible de se connecter sur la base « base » que l’on vient de créer avec l’utilisateur « user » et le mot de passe « mdp »

psql base --host localhost --username user --password

Il est maintenant possible d’utiliser le conteneur comme on le ferait avec n’importe quelle instance.

Manipuler le conteneur

  • Récupérer les informations sur les conteneurs installés sur la machine :

docker ps -al
docker-compose ps
  • Pour arrêter le conteneur :

docker stop nom_du_conteneur
  • Supprimer un conteneur

docker rm nom_du_conteneur

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *