Bonjour,
J'ai une question dont je n'arrive pas à me convaincre d'une meilleure solution.
Dans docker compose, on peut utiliser soit un vrai volume :
Ce qui aura pour effet de créer un volume dans docker :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 services: mariadb: image: mariadb volumes: - mariadb_data:/var/lib/mysql restart: always .... volumes: mariadb_data:
Il est également possible d'utiliser un path relatif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 root@aaa:/data/docker/test# docker volume ls | grep maria local test_mariadb_data
Le fichier docker-compose sera donc comme suit :
Ce qui aura pour effet de mettre le "volume" au niveau du fichier docker-compose (avec des droits d'ailleurs un peu étrange) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 services: mariadb: image: mariadb volumes: - ./mariadb_data:/var/lib/mysql restart: always ....
Pour moi, la seconde méthode a l'avantage de simplifier grandement les backups.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 root@ddd:/data/docker/test# ls -l total 16 -rw-r--r-- 1 root root 592 Jun 1 10:54 docker-compose.yml drwxr-xr-x 5 999 999 4096 Jun 1 10:54 mariadb_data
J'arrête les containers, je tar.gz tout le dossier (qui contient le docker-compose), et c'est terminé.
Du coup, quel est la meilleure politique ?
PS : Je n'ai pas à partager des volumes entre containers
Partager