container rapide postgesql 14 pour test

mémo personnel

Article mis en ligne le 2 novembre 2023
dernière modification le 3 novembre 2023

par Rémi

Pour faire une migration de base de postgresql version 9.x vers une version 14.x, j’avais besoin d’installer une version temporaire de la version 14.x pour tests d’abord.
Ici, ce que j’ai fait pour mettre une version en container afin de garder le système de la machine sans ajout de paquet(s) inutile(s)
Au début, il faut docker.io d’installeé.C’est éjà le cas chez moi.

/* création d’un répertoire de travail */
$ mkdir Postgresql
/* création d’un fichier docker-compose.yml*/
$ cd Postgresql
/* créer un répertoire pour avoir les répertoires de la base en local */
$ mkdir postgres_db

$ vi docker-compose.yml
version: '3.8'
services:
  postgres_db:
    image: postgres:14-alpine
    restart: always
    container_name: PostgresTest
    env_file: .env
    networks:
      autre_network:
        ipv4_address: 192.168.240.10
    ports:
      - '5432:5432'
    volumes:
      - ./postgres_db:/var/lib/postgresql/data
      - ./tmp:/tmp

networks:
  autre_network:
      external:
            name: autre_internal_network 

/* la notion de network permet de partager le réseau d’un autre container. */

/* créer le container */

$ docker compose up -d
[+] Running 2/2
 ✔ Network postgresql_default  Created                   0.1s 
 ✔ Container PostgresTest       Started                       0.1s 

/* vérifier que tout est la */

$ docker ps -a
CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS                     PORTS                                       NAMES
85a06fdcf13d   postgres:14-alpine      "docker-entrypoint.s…"   38 seconds ago   Up 37 seconds              0.0.0.0:5432->5432/tcp, :::5432->5432/tcp   PostgresTest

/* entrer dans le container pour bricoler avec la base (attention, nous sommes sous root dans le container)*/

$ docker exec -it PostgresCont bash
85a06fdcf13d:/# 

C’est tout. Pour faire des tests, cela suffit largement.