docker-image crear - ¿Dónde se almacenan las imágenes de Docker en la máquina host?




estan editar (17)

Si está utilizando Docker para MAC (no boot2docker ), la ubicación es /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/

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 ?


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

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.


compruebe la carpeta docker en /var/lib

Las imágenes se almacenan en la siguiente ubicación:

/var/lib/docker/image/overlay2/imagedb/content

Ampliando la respuesta de Tristan, en Windows con Hyper-V puede mover la imagen con estos steps de matthuisman:

En Windows 10,

  1. Parada docker etc
  2. Escriba "Administrador de Hyper-V" en el cuadro de búsqueda de la barra de tareas y ejecútelo.
  3. Seleccione su PC en el panel de la izquierda (el mío se llama DESKTOP-CBP **)
  4. Haga clic derecho en la máquina virtual correcta (la mía se llama MobyLinuxVM)
  5. Seleccione "Apagar" (si se está ejecutando)
  6. Haz clic derecho en él nuevamente y selecciona "Mover"
  7. Sigue las indicaciones

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.


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


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 Docker para Windows, los registros están aquí: %USERPROFILE%\AppData\Local\Docker


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 .


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/ .


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.


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


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 .


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

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


Docker, básicamente contenedores, admite la virtualización del sistema operativo, es decir, su aplicación siente que tiene una instancia completa de un sistema operativo, mientras que VM admite la virtualización de hardware . Sientes que es una máquina física en la que puedes arrancar cualquier sistema operativo.

En Docker, los contenedores que se ejecutan comparten el núcleo del sistema operativo host, mientras que en las máquinas virtuales tienen sus propios archivos de sistema operativo. El entorno (el sistema operativo) en el que desarrolla una aplicación sería el mismo cuando lo implemente en varios entornos de servicio, como "pruebas" o "producción".

Por ejemplo, si desarrolla un servidor web que se ejecuta en el puerto 4000, cuando lo implementa en su entorno de "prueba", ese puerto ya está siendo utilizado por algún otro programa, por lo que deja de funcionar. En los contenedores hay capas; todos los cambios que haya realizado en el sistema operativo se guardarán en una o más capas y esas capas serían parte de la imagen, por lo que dondequiera que vaya la imagen, las dependencias también estarán presentes.

En el ejemplo que se muestra a continuación, la máquina host tiene tres máquinas virtuales. Para proporcionar el aislamiento completo de las aplicaciones en las máquinas virtuales, cada una tiene sus propias copias de los archivos del sistema operativo, las bibliotecas y el código de la aplicación, junto con una instancia en memoria completa de un sistema operativo.Mientras que la figura de abajo muestra el mismo escenario con contenedores. Aquí, los contenedores simplemente comparten el sistema operativo host, incluido el kernel y las bibliotecas, por lo que no necesitan iniciar un sistema operativo, cargar bibliotecas o pagar un costo de memoria privada por esos archivos. El único espacio incremental que ocupan es la memoria y el espacio en disco necesarios para que la aplicación se ejecute en el contenedor. Si bien el entorno de la aplicación se siente como un sistema operativo dedicado, la aplicación se despliega como lo haría en un host dedicado. La aplicación en contenedor se inicia en segundos y muchas más instancias de la aplicación pueden encajar en la máquina que en el caso de VM.

Fuente: https://azure.microsoft.com/en-us/blog/containers-docker-windows-and-trends/





docker docker-image