subir - ¿Dónde se almacenan las imágenes de Docker en la máquina host?
imagen docker ubuntu (19)
Ampliando la respuesta de Tristan, en Windows con Hyper-V puede mover la imagen con estos steps de matthuisman:
En Windows 10,
- Parada docker etc
- Escriba "Administrador de Hyper-V" en el cuadro de búsqueda de la barra de tareas y ejecútelo.
- Seleccione su PC en el panel de la izquierda (el mío se llama DESKTOP-CBP **)
- Haga clic derecho en la máquina virtual correcta (la mía se llama MobyLinuxVM)
- Seleccione "Apagar" (si se está ejecutando)
- Haz clic derecho en él nuevamente y selecciona "Mover"
- Sigue las indicaciones
Logré encontrar los contenedores en el directorio /var/lib/docker/containers
, pero no puedo encontrar las imágenes.
¿Cuáles son los directorios y archivos en /var/lib/docker
?
Como se responde here , si estás en Mac, se encuentra en
/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Cuando se utiliza la aplicación Docker para Mac, parece que los contenedores se almacenan en la máquina virtual ubicada en:
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
El contenido del directorio /var/lib/docker
varía según el controlador que Docker esté usando para el almacenamiento .
Por defecto, esto será aufs
pero puede recurrir a overlay
, overlay2
, btrfs
, devicemapper
o zfs
según la zfs
con el núcleo. En la mayoría de los lugares esto será aufs
pero los RedHats fueron con devicemapper
.
Puede configurar manualmente el controlador de almacenamiento con la opción -s
o --storage-driver=
en el demonio Docker .
-
/var/lib/docker/{driver-name}
contendrá el almacenamiento específico del controlador para el contenido de las imágenes. -
/var/lib/docker/graph/<id>
ahora solo contiene metadatos sobre la imagen, en los archivosjson
ylayersize
.
En el caso de aufs
:
-
/var/lib/docker/aufs/diff/<id>
tiene el contenido del archivo de las imágenes. -
/var/lib/docker/repositories-aufs
es un archivo JSON que contiene información de imagen local. Esto se puede ver con lasdocker images
comandos.
En el caso de devicemapper
:
-
/var/lib/docker/devicemapper/devicemapper/data
almacena las imágenes -
/var/lib/docker/devicemapper/devicemapper/metadata
los metadatos - Tenga en cuenta que estos archivos son archivos "dispersos" de aprovisionamiento fino, por lo que no son tan grandes como parecen.
En Docker para Windows ( Windows nativo) el almacenamiento de contenedor predeterminado está en:
> docker info
...
Docker Root Dir: C:/ProgramData/Docker
...
En Debian Unstable / Sid,
docker info
para encontrar información de todo el sistema.
las imágenes se almacenan en /var/lib/docker/image/overlay2/imagedb/content
y
los contenedores se almacenan en /var/lib/docker/containers
Versión de docker 18.06.0-ce
, API versión 1.38
En Docker para Windows, los registros están aquí: %USERPROFILE%/AppData/Local/Docker
En Fedora, Docker usa LVM para almacenamiento, si está disponible. En mi sistema, la docker info
muestra:
Storage Driver: devicemapper
Pool Name: vg01-docker--pool
Pool Blocksize: 524.3 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file:
Metadata file:
Data Space Used: 9.622 GB
...
En ese caso, para aumentar el almacenamiento, tendrá que usar herramientas de línea de comandos de LVM o administradores de partición compatibles como blivet .
En Ubuntu puedes "jugar" con imágenes corriendo
sudo baobab /var/lib/docker
En realidad, las imágenes se almacenan en /var/lib/docker/aufs/diff
En el caso especial de Mac OS X o Windows, utilizando boot2docker, sus imágenes de Docker se almacenan en una VM VirtualBox administrada por boot2docker.
Esta máquina virtual se almacenará en el lugar normal de las imágenes de VirtualBox:
OS X: ~/VirtualBox VMs/boot2docker-vm
Windows: %USERPROFILE%/VirtualBox VMs/boot2docker-vm
Puede restablecerlo ejecutando (ADVERTENCIA: Esto destruirá todas las imágenes que haya creado y descargado hasta ahora):
boot2docker down
boot2docker destroy
boot2docker init
boot2docker up
Esto es especialmente útil si conservó toneladas de imágenes intermedias al compilar / depurar una compilación sin las opciones de --rm útiles, las cito aquí para referencia: Use:
docker build -t webapp --rm=true --force-rm=true .
en lugar de:
docker build -t webapp .
En el recién lanzado ''Docker para Windows'', que utiliza Hyper-V, los datos se encuentran en el disco duro virtual de Docker:
C:/Users/Public/Documents/Hyper-V/Virtual hard disks/MobyLinuxVM.vhdx
También puede abrir el ''Administrador de Hyper-V'' para acceder al Docker / MobyLinuxVM.
En realidad, las imágenes de Docker se almacenan en dos archivos como se muestra en el siguiente comando
$ docker info
Archivo de datos:
/var/lib/docker/devicemapper/devicemapper/data
Archivo de metadatos:
/var/lib/docker/devicemapper/devicemapper/metadata
Las imágenes se almacenan en /var/lib/docker/graph/<id>/layer
.
Tenga en cuenta que las imágenes son solo diferentes de la imagen principal. La ID principal se almacena con los metadatos de la imagen /var/lib/docker/graph/<id>/json
.
Cuando docker run
una imagen. AUFS ''fusionará'' todas las capas en un sistema de archivos utilizable.
Para alguien que está usando Docker toolbox (que usa docker-machine), las respuestas concernientes a boot2docker en Mac OS X no son válidas. La máquina virtual de docker-machine se llama "default" y existe en el directorio /Users/<username>/.docker/machine/machines/default/
.
Puedo responder esta pregunta solo para usuarios de Ubuntu:
El directorio raíz de la ventana acoplable se puede encontrar cuando ejecuta la docker info
comando
El directorio de Docker se dará en esta línea: " Docker Root Dir: /var/lib/docker
"
Acerca de las imágenes de la ventana acoplable, se almacenan dentro del directorio de la ventana acoplable: /var/lib/docker/aufs/diff/
Recuerda que estas cosas no son iguales en todas las versiones de docker. Actualmente, estoy usando 1.12.3.
Si está utilizando Docker para MAC (no boot2docker
), la ubicación es /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/
Si tiene en cuenta que Docker aún se está ejecutando en una máquina virtual, las rutas del sistema son relativas a la máquina virtual y no del sistema Mac Osx. Como dice todo está contenido en un archivo VM:
/Usuarios/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Intente ejecutar la imagen de Alpine con esta opción de volumen y el comando ls que puede listar el host de VM:
ventana acoplable ejecutar --rm -it -v /: / vm-root alpine: edge ls -l / vm-root
Después de esto solo intente:
ventana acoplable ejecutar --rm -it -v /: / vm-root alpine: borde ls -l / vm-root / var / lib / docker
Ahora, puede listar la carpeta docker desde el host WM
Uso boot2docker para Docker en Mac OSX, por lo que las imágenes se almacenan en /Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk
.
compruebe la carpeta docker en /var/lib
Las imágenes se almacenan en la siguiente ubicación:
/var/lib/docker/image/overlay2/imagedb/content