J'ai réussi à trouver les conteneurs sous le répertoire /var/lib/docker/containers
, mais je ne trouve pas les images.
Quels sont les répertoires et fichiers sous /var/lib/docker
?
docker
docker-image
nemo
la source
la source
Réponses:
Le contenu du
/var/lib/docker
répertoire varie en fonction du pilote que Docker utilise pour le stockage .Par défaut , ce sera
aufs
mais peut revenir àoverlay
,overlay2
,btrfs
,devicemapper
ou enzfs
fonction de votre soutien du noyau. Dans la plupart des endroits, ce sera le cas,aufs
mais les chapeaux rouges sont allés de pairdevicemapper
.Vous pouvez définir manuellement le pilote de stockage avec l' option
-s
ou--storage-driver=
sur le 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>
contient désormais uniquement des métadonnées sur l'image, dans les fichiersjson
etlayersize
.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 sur l'image locale. Cela peut être consulté avec la commandedocker images
.Dans le cas de
devicemapper
:/var/lib/docker/devicemapper/devicemapper/data
stocke les images/var/lib/docker/devicemapper/devicemapper/metadata
les métadonnéesla source
docker info
et trouvez l'emplacement réel spécifique à votre configuration .Docker for Mac
avec 2 images de 1,5 Go chacune et je n'ai/var/lib
pas de répertoiredocker
.Lors de l'utilisation de l'application Docker pour Mac, il apparaît que les conteneurs sont stockés dans la machine virtuelle située à:
MISE À JOUR (Gracieuseté de mmorin ):
Au 15 janvier 2019, il semble qu'il n'y ait que ce fichier:
qui contient le Docker Disk et toutes les images et conteneurs qu'il contient.
la source
ubuntu
,nginx
), ou est-ce l'emplacement pour tous les conteneurs? La question d'origine demande des images , pas des conteneurs ...Docker for Mac
avec deux images de 1,5 Go chacune et je n'ai~/Library/Containers/Data/com.docker.docker/Data
pas de répertoirecom.docker.driver.amd64-linux
et le seul gros fichier estvms/0/Docker.raw
avec 3,6 Go.du -hd1 ~/Library/Containers/com.docker.docker/Data/
c'était l'ancienne façon de faire, maintenant elle a changé. Ignorez cette réponse à partir de 2019
Dans le cas particulier de Mac OS X ou Windows, à l'aide de 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 VirtualBox:
OS X:
~/VirtualBox VMs/boot2docker-vm
Les fenêtres:
%USERPROFILE%/VirtualBox VMs/boot2docker-vm
Vous pouvez le réinitialiser en exécutant (AVERTISSEMENT: cela détruira toutes les images que vous avez construites et téléchargées jusqu'à présent):
Ceci est particulièrement utile si vous avez conservé des tonnes d'images intermédiaires lors de la construction / débogage d'une construction sans les options --rm utiles, je les cite ici pour référence:
au lieu de:
la source
%USERPROFILE%\.docker\machine\machines
(veuillez noter l'arrêt complet dans le chemin)C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx
En fait, les images Docker sont stockées dans deux fichiers comme indiqué par la commande suivante
la source
docker info
est très utile, mais la sortieDocker Root Dir: /var/lib/docker
n'indique pas l'emplacement de stockage d'image (voir la réponse spécifique à Mac ci-dessus).Sur le nouveau Docker pour Windows, qui utilise Hyper-V, les données se trouvent sur le disque dur virtuel Docker:
Vous pouvez également ouvrir le «Gestionnaire Hyper-V» pour accéder à Docker / MobyLinuxVM.
la source
C:\ProgramData\docker\windowsfilter
pour moi. Plus d'infos: stackoverflow.com/a/39971954/188740Les images sont stockées dans
/var/lib/docker/graph/<id>/layer
.Notez que les images ne diffèrent que de 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 «fusionnera» toutes les couches en un seul système de fichiers utilisable.la source
Sur Ubuntu, vous pouvez "jouer" avec des images en cours d'exécution
En fait, les images sont stockées dans
/var/lib/docker/aufs/diff
la source
Pour quelqu'un qui utilise Docker toolbox (qui utilise docker-machine), les réponses concernant boot2docker sur Mac OS X ne sont pas valides. La VM docker-machine est appelée "par défaut" et elle existe dans le
/Users/<username>/.docker/machine/machines/default/
répertoire.la source
Dans Docker pour Windows ( Windows natif), le stockage de conteneur par défaut est à:
la source
docker build
commande et je ne vois pas de fichier qui, je pense, est le fichier image. Je vois des dossiers et des fichiers texte (par exemple service.txt). Quel type de fichier et avec quelle extension de fichier ledocker build
crée-t-il?Si vous utilisez Docker pour MAC (non
boot2docker
), l'emplacement est/Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/
la source
jasper@~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux $ ls -lh | grep Docker -rw-r--r--@ 1 jasper staff 6.3G May 25 19:20 Docker.qcow2
j'ai trouvé l'image. Mais ce ne sont pas les conteneurs. Je ne les vois pas vraiment dans ce répertoire de données ..Comme indiqué ici , si vous êtes sur Mac, il se trouve à l'adresse
la source
En développant la réponse de Tristan, dans Windows avec Hyper-V, vous pouvez déplacer l'image avec ces étapes de matthuisman:
la source
docker build
commande. Je suis sur un ordinateur Windows 10. Je regarde dans C: \ Users \ Public \ Documents \ Hyper-V \ Virtual hard disks, mais tout ce que je vois est MobyLinuxVM.vhdx. Où sont stockées les images réelles?Si vous gardez à l'esprit que Docker est toujours en cours d'exécution sur une machine virtuelle, les chemins d'accès au système sont relatifs à la machine virtuelle et non au système Mac Osx. Comme il est dit, tout est contenu dans un fichier VM:
Essayez d'exécuter Alpine Image avec cette option de volume et la commande ls, vous pouvez répertorier l'hôte VM:
Après cela, essayez simplement:
Maintenant, vous pouvez répertorier le dossier Docker à partir de l'hôte VM
la source
J'utilise le boot2docker pour Docker sur Mac OSX, donc les images sont stockées dans le
/Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk
.la source
Je ne peux répondre à cette question que pour les utilisateurs d'Ubuntu:
Le répertoire racine de docker peut être trouvé lorsque vous exécutez la commande
docker info
Le répertoire Docker sera indiqué dans cette ligne: "
Docker Root Dir: /var/lib/docker
"À propos des images docker, elles sont stockées dans le répertoire docker:
/var/lib/docker/aufs/diff/
N'oubliez pas que ces choses ne sont pas les mêmes dans toutes les versions de docker. Actuellement, j'utilise 1.12.3.
la source
Utilisez la
docker info
commande pour afficher des informations à l'échelle du système et l'emplacement peut varier.Voici l'exemple sur Ubuntu (vérifiez Root Dir ):
Et voici l'exemple sur Travis CI (voir Docker Root Dir ):
Vous pouvez utiliser un
--format
paramètre pour extraire ces informations dans un seul fichier, par exempleou:
la source
Dans Docker pour Windows, les journaux sont ici:
%USERPROFILE%\AppData\Local\Docker
la source
vérifier le dossier docker dans
/var/lib
les images sont stockées à l'emplacement ci-dessous:
la source
/var/lib/docker/image/overlay2/
. Notez également que c'est le cas du fait que votre moteur Docker utiliseoverlay2
comme pilote de stockage.utiliser le
docker inspect container_id
dossier de recherche sous MergedDir
la source
Pour "Docker Desktop", cliquez sur l'icône de la barre d'état système de docker et cliquez sur "Paramètres".
Sous l'onglet Avancé, vous pouvez voir l'emplacement de l'image disque.
la source
Environnement: Windows 10 Pro, docker desktop 2.0.3.0 edge
cliquez avec le bouton droit sur l'icône de docker dans la barre d'état système, sélectionnez les paramètres - avancés:
Emplacement de l'image disque (modifiable via le navigateur):
C: \ Users \ Public \ Documents \ Hyper-V \ Virtual Hard Disks \ DockerDesktop.vhdx
(c'est là - le répertoire Documents est caché)
la source
docker build
commande?la source
Sur Fedora, Docker utilise LVM pour le stockage s'il est disponible. Sur mon système
docker info
montre:Dans ce cas, pour augmenter le stockage, vous devrez utiliser des outils de ligne de commande LVM ou des gestionnaires de partition compatibles comme blivet .
la source
Dans Windows 2016, docker (DockerMsftProvider) utilise le dossier "windowsfilter" sous la racine du docker
Il utilise le dossier "tmp" sous la racine docker pour télécharger les fichiers et il supprime les fichiers après avoir extrait les fichiers téléchargés dans le dossier "windowsfilter".
la source
Sur Debian Unstable / Sid,
docker info
pour trouver des informations à l'échelle du système.les images sont stockées dans
/var/lib/docker/image/overlay2/imagedb/content
etles conteneurs sont stockés dans
/var/lib/docker/containers
version docker, version
18.06.0-ce
API1.38
la source
Je n'ai pas pu résoudre la question avec Docker version 18.09 sur macos en utilisant les réponses ci-dessus et j'ai réessayé.
La seule solution réelle pour moi était d'utiliser cette
docker-compose.yml
configuration:Après le lancement avec
docker-compose up
j'ai finalement eu/tmp/host-volume
des macos partagées en tant que volume inscriptible à partir du conteneur:J'espère que cela aide aussi les autres.
la source
Les images sont stockées à l'intérieur
/var/lib/docker
puis sous lestorage driver
répertoire applicable .Le pilote de stockage utilisé peut être déterminé en exécutant la
docker info
commande.la source
Selon le guide de démarrage de Docker, «votre image intégrée» se trouve «dans le registre d'images Docker local de votre ordinateur».
C'est encore étrange pour moi, car maintenant cela mène à la question. Où se trouve le registre d'images Docker local de ma machine?
Néanmoins, je pense vraiment que cette information mérite d'être partagée comme réponse.
la source
Si quelqu'un en a besoin à des fins de script, voici une solution en ligne.
Dans le shell POSIX, avec PCRE activé
grep
, essayez:DOCKER_ROOT_DIR="$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"
Dans PowerShell:
$DOCKER_ROOT_DIR="$(docker info 2>&1 | foreach {if($_ -match "Docker Root Dir"){$_.TrimStart("Docker Root Dir: ")}})"
Remarque, sous Windows 10 (à partir de
10.0.18999.1
), dans les configurations par défaut, il renvoie:C:\ProgramData\Docker
en mode "Conteneurs Windows"/var/lib/docker
, en mode "Conteneurs Linux"la source
DOCKER_ROOT_DIR="$(sudo docker info 2>&1 | grep -oP '(?<=Data loop file: ).*')"
, mais à la fin c'est un fichier, pas un répertoiresudo ls "$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"
listez le contenu de ce répertoire.