mémo personnel
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.