Docker compose - Named volume vs relative path
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 :
Code:
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: |
Ce qui aura pour effet de créer un volume dans docker :
Code:
1 2 3
|
root@aaa:/data/docker/test# docker volume ls | grep maria
local test_mariadb_data |
Il est également possible d'utiliser un path relatif.
Le fichier docker-compose sera donc comme suit :
Code:
1 2 3 4 5 6 7 8
|
services:
mariadb:
image: mariadb
volumes:
- ./mariadb_data:/var/lib/mysql
restart: always
.... |
Ce qui aura pour effet de mettre le "volume" au niveau du fichier docker-compose (avec des droits d'ailleurs un peu étrange) :
Code:
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 |
Pour moi, la seconde méthode a l'avantage de simplifier grandement les backups.
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