Question Où sont stockées les images Docker sur la machine hôte?


J'ai réussi à trouver les conteneurs sous répertoire /var/lib/docker/containers, mais je ne peux pas trouver les images.

Quels sont les répertoires et les fichiers sous /var/lib/docker?


533
2017-10-07 21:08


origine


Réponses:


Le contenu du /var/lib/docker répertoire varie en fonction de la pilote Docker utilise pour le stockage.

Par défaut, ce sera aufs mais peut revenir à overlay, overlay2, btrfs, devicemapper ou zfs en fonction du support de votre noyau. Dans la plupart des endroits, ce sera aufs mais le RedHats est allé avec devicemapper.

Vous pouvez définir manuellement le pilote de stockage avec -s ou --storage-driver= option à la Démon Docker.

  • /var/lib/docker/{driver-name} contiendra le stockage spécifique au pilote pour le contenu des images.
  • /var/lib/docker/graph/<id> maintenant ne contient que des métadonnées sur l'image, dans le json et layersize des dossiers.

Dans le cas de aufs:

  • /var/lib/docker/aufs/diff/<id> a le contenu du fichier des images.
  • /var/lib/docker/repositories-aufs est un fichier JSON contenant des informations d'image locales. Cela peut être visualisé avec la commande docker images.

Dans le cas de devicemapper:

  • /var/lib/docker/devicemapper/devicemapper/data stocke les images
  • /var/lib/docker/devicemapper/devicemapper/metadata les métadonnées
  • Notez que ces fichiers sont des fichiers "clairsemés" provisionnés, ils ne sont donc pas aussi volumineux qu'ils paraissent.

426
2018-06-05 13:03



Lorsque vous utilisez l'application Docker pour Mac, il semble que les conteneurs sont stockés dans la machine virtuelle située à:

~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

236
2017-08-06 20:54



Dans le cas particulier de Mac OS X ou Windows, en utilisant boot2docker, vos images Docker sont stockées dans une machine virtuelle VirtualBox gérée par boot2docker.

Cette VM sera stockée à la place normale des images de VirtualBox:

OS X: ~/VirtualBox VMs/boot2docker-vm

Les fenêtres: %USERPROFILE%/VirtualBox VMs/boot2docker-vm

Vous pouvez le réinitialiser en l'exécutant (AVERTISSEMENT: cela détruira toutes les images que vous avez créées et téléchargées jusqu'à présent):

boot2docker down
boot2docker destroy
boot2docker init
boot2docker up

Ceci est particulièrement utile si vous avez gardé des tonnes d'images intermédiaires lors de la construction / débogage d'une construction sans les options utiles --rm, je les cite ici pour référence: Utilisation:

docker build -t webapp --rm=true --force-rm=true .

au lieu de:

docker build -t webapp .

113
2017-10-07 21:29



Les images sont stockées dans /var/lib/docker/graph/<id>/layer.

Notez que les images ne sont que des différences par rapport à l'image parente. L'ID parent est stocké avec les métadonnées de l'image /var/lib/docker/graph/<id>/json.

Lorsque vous docker run une image. AUFS va «fusionner» toutes les couches dans un système de fichiers utilisable.


67
2017-11-26 16:05



En fait, les images Docker sont stockées dans deux fichiers, comme indiqué dans la commande suivante

$ docker info

Fichier de données: /var/lib/docker/devicemapper/devicemapper/data

Fichier de métadonnées: /var/lib/docker/devicemapper/devicemapper/metadata


61
2017-07-17 08:40



Sur le nouveau Docker pour Windows, qui utilise Hyper-V, les données se trouvent sur le disque dur virtuel Docker:

C: \ Utilisateurs \ Public \ Documents \ Hyper-V \ Disques durs virtuels \ MobyLinuxVM.vhdx

Vous pouvez également ouvrir le 'Gestionnaire Hyper-V' pour accéder au Docker / MobyLinuxVM.


50
2017-09-17 10:24



Pour quelqu'un qui utilise la boîte à outils Docker (qui utilise docker-machine), les réponses concernant boot2docker sur Mac OS X ne sont pas valides. La machine virtuelle docker-machine est appelée "default" et existe dans le /Users/<username>/.docker/machine/machines/default/ annuaire.


45
2018-05-13 13:13