¿Dónde se almacenan las imágenes de Docker en la máquina host?
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 bajo /var/lib/docker
?
20 answers
El contenido del directorio /var/lib/docker
varía dependiendo del controlador que Docker esté usando para el almacenamiento.
Por defecto esto será aufs
pero puede volver a overlay
, overlay2
, btrfs
, devicemapper
o zfs
dependiendo del soporte del 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 el -s
o --storage-driver=
opción para el demonio Docker .
-
/var/lib/docker/{driver-name}
will contiene 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 el comandodocker images
.
En el caso de devicemapper
:
-
/var/lib/docker/devicemapper/devicemapper/data
almacena las imágenes -
/var/lib/docker/devicemapper/devicemapper/metadata
el metadatos - Tenga en cuenta que estos archivos son archivos "dispersos" de aprovisionamiento delgado, por lo que no son tan grandes como parecen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-13 22:15:05
Al usar la aplicación Docker para Mac, parece que los contenedores se almacenan dentro de la máquina virtual ubicada en:
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-05 13:03:52
En el caso especial de Mac OS X o Windows, utilizando boot2docker, las imágenes de Docker se almacenan dentro de una VM VirtualBox administrada por boot2docker.
Esta VM se almacenará en el lugar normal de las imágenes de VirtualBox:
OS X: ~/VirtualBox VMs/boot2docker-vm
Ventanas: %USERPROFILE%/VirtualBox VMs/boot2docker-vm
Puede restablecerlo ejecutando (ADVERTENCIA: Esto destruirá todas las imágenes que haya construido y descargado hasta ahora):
boot2docker down
boot2docker destroy
boot2docker init
boot2docker up
Esto es especialmente útil si guardaste toneladas de imágenes intermedias al construir / depurar un construir sin las opciones útiles rm rm, los cito aquí para referencia: Uso:
docker build -t webapp --rm=true --force-rm=true .
En lugar de:
docker build -t webapp .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-25 17:25:24
En realidad, las imágenes de Docker se almacenan en dos archivos como se muestra siguiendo el comando
$ docker info
Archivo de datos:
/var/lib/docker/devicemapper/devicemapper/data
Archivo de metadatos:
/var/lib/docker/devicemapper/devicemapper/metadata
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-01 12:35:06
Las imágenes se almacenan en /var/lib/docker/graph/<id>/layer
.
Tenga en cuenta que las imágenes son solo diferencias de la imagen principal. El ID padre 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.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-04 08:43:07
En el nuevo 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 a Docker / MobyLinuxVM.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-17 08:40:13
Para alguien que está usando Docker toolbox (que usa docker-machine), las respuestas relativas a boot2docker en Mac OS X no son válidas. La máquina virtual docker-machine se llama "default" y existe en el directorio /Users/<username>/.docker/machine/machines/default/
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-14 13:53:07
En Ubuntu puedes "jugar" con imágenes ejecutándose
sudo baobab /var/lib/docker
En realidad, las imágenes se almacenan dentro de /var/lib/docker/aufs/diff
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-13 13:13:29
En Docker para Windows (Windows nativo) el almacenamiento predeterminado del contenedor está en:
> docker info
...
Docker Root Dir: C:\ProgramData\Docker
...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-17 11:02:58
Si está utilizando Docker para MAC (no boot2docker
), entonces la ubicación es /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-05 00:12:33
Como respondió aquí, si estás en Mac, se encuentra en
/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:55:03
Ampliando la respuesta de Tristan, en Windows con Hyper-V puede mover la imagen con estos pasos desde matthuisman:
En Windows 10,
- Detener docker etc
- Escriba "Hyper-V Manager" en el cuadro de búsqueda de la barra de tareas y ejecútelo.
- Seleccione su PC en el panel izquierdo (El mío se llama DESKTOP-CBP**)
- Haga clic derecho en la máquina virtual correcta (La mía es llamado MobyLinuxVM)
- Seleccione "Apagar" (Si se está ejecutando)
- Haga clic derecho sobre él de nuevo y seleccione "Mover"
- Siga las indicaciones
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-21 19:06:10
Uso el boot2docker para Docker en Mac OSX, por lo que las imágenes se almacenan en el /Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-13 03:42:25
En Docker para Windows, los registros están aquí: %USERPROFILE%\AppData\Local\Docker
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-31 08:51:59
Puedo responder esta pregunta solo para usuarios de Ubuntu:
El directorio raíz de docker se puede encontrar cuando se ejecuta el comando docker info
El directorio Docker se dará en esta línea: "Docker Root Dir: /var/lib/docker
"
Acerca de las imágenes de docker, se almacenan dentro del directorio de docker:
/var/lib/docker/aufs/diff/
Recuerde que estas cosas no son iguales en todas las versiones de docker. Actualmente, estoy usando 1.12.3.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-08 16:13:56
Si tiene en cuenta que Docker todavía 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:
/Users/MyUserName/Library/Containers/com.docker.docker / Data / com.docker.controlador.amd64-linux / Docker.qcow2
Intente ejecutar Alpine image con esta opción de volumen y el comando ls puede enumerar el host de la VM:
Docker run rm rm-it-v/: / vm-root alpine: edge ls-l / vm-root
Después de esto solo inténtalo:
Docker run rm rm-it-v/: / vm-root alpine: edge ls-l /vm-root/var/lib / docker
Ahora, puede listar la carpeta docker desde el host WM
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-22 20:09:27
Compruebe la carpeta docker en /var/lib
Las imágenes se almacenan en la siguiente ubicación:
/var/lib/docker/image/overlay2/imagedb/content
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-29 22:15:26
En Fedora, Docker usa LVM para el almacenamiento si está disponible. En mi sistema 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 LVM o administradores de particiones compatibles como blivet.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-04 04:37:30
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 Docker 18.06.0-ce
, versión API 1.38
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-14 05:04:39
Y si quieres ver qué imágenes tienes localmente, tienes que ejecutar docker en interactivo con el comando bash(creo que ese es el comando) para obtener el indicador normal de linux linux. A continuación, ejecute imágenes docker. Dentro del mobylinux.vhdx, en /var/lib/docker/ es donde se almacena la caché local.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-02 18:17:26