Docker Volumes : vers du stockage persistent

Les Docker volumes permettent le stockage de manière permanente des données générées et utilisées par les conteneurs Docker. Ils sont :

  • faciles à sauvegarder ou déplacer,
  • administrables via l’interpréteur de commandes Docker ou son API,
  • partageables de manière sûre par différents conteneurs,
  • indépendants du système d’exploitation de l’hôte.
  • indépendants du cycle de vie des conteneurs qui les utilisent (voire indépendant tout court des conteneurs).

En pratique, on crée rarement des réseaux à la main, et on exploite les fichiers Compose.

Création et gestion des volumes

Créer un volume :
$ docker volume create mon-volume
mon-volume
Lister les volumes :
$ docker volume ls
DRIVER              VOLUME NAME
local               0120b11a1e11734fbf90414f957d91e23d7c505e7bd28d7343587625c0fef490
...                 ...
local               fe696d552c75d60da176fed7f92e9e624f691ab6d2e60d3b2bbd117ae4968642
local               mon-volume
Inspecter un volume :
$ docker inspect mon-volume
[
    {
        "CreatedAt": "2018-10-09T00:14:52+02:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/mon-volume/_data",
        "Name": "mon-volume",
        "Options": {},
        "Scope": "local"
    }
]
Supprimer un volume :
$ docker volume rm mon-volume
mon-volume


Démarrer un conteneur avec un volume

Avec l'option ''--mount''
$ docker run -d --name voltest --mount source=mon-volume,target=/app traefik
$ docker inspect voltest
...
"Mounts": [
          {
              "Type": "volume",
              "Name": "mon-volume",
              "Source": "/var/lib/docker/volumes/mon-volume/_data",
              "Destination": "/app",
              "Driver": "local",
              "Mode": "z",
              "RW": true,
              "Propagation": ""
          }
       ],
...
  • technique/docker/general/volumes.1601476426.txt.gz
  • de qduchemi