Logré encontrar los contenedores en el directorio /var/lib/docker/containers, pero no puedo encontrar las imágenes.
¿En qué se encuentran los directorios y archivos /var/lib/docker?
docker
docker-image
nemo
fuente
fuente

Respuestas:
El contenido del
/var/lib/dockerdirectorio varía según el controlador que Docker esté utilizando para el almacenamiento .Por defecto, este será
aufs, pero puede caer de nuevo aoverlay,overlay2,btrfs,devicemapperozfsdependiendo de su soporte en el núcleo. En la mayoría de los lugares esto será,aufspero los RedHats se fuerondevicemapper.Puede configurar manualmente el controlador de almacenamiento con la opción
-so--storage-driver=para 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 archivosjsonylayersize.En el caso de
aufs:/var/lib/docker/aufs/diff/<id>tiene el contenido del archivo de las imágenes./var/lib/docker/repositories-aufses 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/dataalmacena las imágenes/var/lib/docker/devicemapper/devicemapper/metadatalos metadatosfuente
docker infoy encuentre la ubicación real específica para su configuración .Docker for Maccon 2 imágenes de 1,5 GB cada una y/var/libno tiene directoriodocker.Cuando se usa la aplicación Docker para Mac, parece que los contenedores se almacenan dentro de la VM ubicada en:
ACTUALIZACIÓN (Cortesía de mmorin ):
A partir del 15 de enero de 2019 parece que solo hay este archivo:
que contiene el Docker Disk y todas las imágenes y contenedores que contiene.
fuente
ubuntu,nginx) o esta es la ubicación de todos los contenedores? La pregunta original pide imágenes , no contenedores ...Docker for Macdos imágenes de 1.5 GB cada una y~/Library/Containers/Data/com.docker.docker/Datano tiene directoriocom.docker.driver.amd64-linuxy el único archivo grande está envms/0/Docker.raw3.6 GB.du -hd1 ~/Library/Containers/com.docker.docker/Data/Esta era la antigua forma de hacerlo, ahora ha cambiado. Haga caso omiso de esta respuesta a partir de 2019
En el caso especial de Mac OS X o Windows, usando boot2docker, las imágenes de Docker se almacenan en 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-vmVentanas:
%USERPROFILE%/VirtualBox VMs/boot2docker-vmPuede restablecerlo ejecutando (ADVERTENCIA: esto destruirá todas las imágenes que ha creado y descargado hasta ahora):
Esto es especialmente útil si guardaste toneladas de imágenes intermedias al compilar / depurar una compilación sin las útiles opciones --rm, las cito aquí como referencia: Uso:
en vez de:
fuente
%USERPROFILE%\.docker\machine\machines(tenga en cuenta el punto final en la ruta)C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdxEn realidad, las imágenes de Docker se almacenan en dos archivos como se muestra mediante el siguiente comando
fuente
docker infoes muy útil, pero el resultadoDocker Root Dir: /var/lib/dockerno indica la ubicación de almacenamiento de la imagen (consulte la respuesta específica de Mac más arriba).En el recientemente lanzado 'Docker para Windows', que usa Hyper-V, los datos se encuentran en el disco duro virtual de Docker:
También puede abrir el 'Administrador de Hyper-V' para acceder a Docker / MobyLinuxVM.
fuente
C:\ProgramData\docker\windowsfilterpara mí. Más información: stackoverflow.com/a/39971954/188740Las 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 eres
docker rununa imagen. AUFS 'fusionará' todas las capas en un sistema de archivos utilizable.fuente
En Ubuntu puedes "jugar" con imágenes ejecutándose
En realidad, las imágenes se almacenan dentro de
/var/lib/docker/aufs/difffuente
Para alguien que usa Docker toolbox (que usa docker-machine), las respuestas sobre boot2docker en Mac OS X no son válidas. La máquina virtual docker-máquina se llama "predeterminada" y existe en el
/Users/<username>/.docker/machine/machines/default/directorio.fuente
En Docker para Windows ( Windows nativo), el almacenamiento predeterminado del contenedor está en:
fuente
docker buildcomando y no veo un archivo que creo que es el archivo de imagen. Veo algunas carpetas y algunos archivos de texto (por ejemplo, service.txt). ¿Qué tipo de archivo y con qué extensión de archivodocker buildcrea?Si está utilizando Docker para MAC (no
boot2docker), entonces la ubicación es/Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/fuente
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.qcow2encontré la imagen. Pero ese no es el contenedor. No verlos en este directorio de datos realmente ..Como se respondió aquí , si está en Mac, se encuentra en
fuente
Ampliando la respuesta de Tristan, en Windows con Hyper-V puede mover la imagen con estos pasos desde matthuisman:
fuente
docker buildcomando. Estoy en una computadora con Windows 10. Miro en C: \ Users \ Public \ Documents \ Hyper-V \ Discos duros virtuales, pero todo lo que veo es MobyLinuxVM.vhdx. ¿Dónde se almacenan las imágenes reales?Si tiene en cuenta que Docker todavía se está ejecutando en una VM, las rutas del sistema son relativas a la VM y no del sistema Mac Osx. Como dice todo está contenido en un archivo VM:
Intente ejecutar la imagen Alpine con esta opción de volumen y el comando ls, puede enumerar el host VM:
Después de esto solo intente:
Ahora puede enumerar la carpeta acoplable desde el host de VM
fuente
Yo 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.fuente
Puedo responder esta pregunta solo para usuarios de Ubuntu:
El directorio raíz de Docker se puede encontrar cuando ejecuta el comando
docker infoEl directorio Docker se dará en esta línea: "
Docker Root Dir: /var/lib/docker"Sobre las imágenes de la ventana acoplable, se almacenan dentro del directorio de la ventana acoplable:
/var/lib/docker/aufs/diff/Recuerde que estas cosas no son iguales en todas las versiones de Docker. Actualmente, estoy usando 1.12.3.
fuente
Use el
docker infocomando para mostrar información de todo el sistema y la ubicación puede variar.Aquí está el ejemplo en Ubuntu (marque el directorio raíz ):
Y aquí está el ejemplo en Travis CI (ver Docker Root Dir ):
Puede usar el
--formatparámetro para extraer esa información en un solo archivo, p. Ej.o:
fuente
En Docker para Windows, los registros están aquí:
%USERPROFILE%\AppData\Local\Dockerfuente
busque la carpeta acoplable en
/var/libLas imágenes se almacenan en la siguiente ubicación:
fuente
/var/lib/docker/image/overlay2/. También tenga en cuenta que este es el caso debido al hecho de que su motor Docker está utilizandooverlay2como controlador de almacenamiento.use la
docker inspect container_idcarpeta de búsqueda en MergedDir
fuente
Para "Docker Desktop", haga clic en el icono de la bandeja del sistema docker y haga clic en "Configuración".
En la pestaña Avanzado, puede ver la ubicación de la imagen del disco.
fuente
Entorno: Windows 10 Pro, Docker Desktop 2.0.3.0 edge
haga clic con el botón derecho en el icono de la ventana acoplable en la bandeja del sistema, seleccione configuración - avanzado:
Ubicación de la imagen del disco (editable a través del navegador):
C: \ Usuarios \ Público \ Documentos \ Hyper-V \ Discos duros virtuales \ DockerDesktop.vhdx
(está ahí: el directorio de documentos está oculto)
fuente
docker buildcomando?fuente
En Fedora, Docker usa LVM para almacenamiento si está disponible. En mi sistema
docker infomuestra:En ese caso, para aumentar el almacenamiento, deberá utilizar herramientas de línea de comandos LVM o administradores de particiones compatibles como blivet .
fuente
En Windows 2016, docker (DockerMsftProvider) usa la carpeta "windowsfilter" en la raíz de docker
Utiliza la carpeta "tmp" debajo de la raíz del docker para descargar los archivos y los elimina después de extraer los archivos descargados a la carpeta "windowsfilter".
fuente
En Debian Unstable / Sid,
docker infopara encontrar información de todo el sistema.las imágenes se almacenan en
/var/lib/docker/image/overlay2/imagedb/contentylos contenedores se almacenan en
/var/lib/docker/containersversión acoplable
18.06.0-ce, versión API1.38fuente
No pude resolver la pregunta con Docker versión 18.09 en macos usando las respuestas anteriores e intenté nuevamente.
La única solución real para mí fue usar esta
docker-compose.ymlconfiguración:Después de lanzar con
docker-compose upfinalmente tuve/tmp/host-volumedesde macos compartido como volumen de escritura desde el contenedor:Espero que esto ayude a otros también.
fuente
Las imágenes se almacenan dentro
/var/lib/dockery luego en elstorage driverdirectorio correspondiente .El controlador de almacenamiento, en uso, se puede determinar ejecutando el
docker infocomando.fuente
De acuerdo con la guía de inicio de Docker, "su imagen construida" está "en el registro local de imágenes de Docker de su máquina".
Esto todavía es extraño para mí, porque ahora lleva a la pregunta. ¿Dónde está el registro local de imágenes Docker de mi máquina?
Sin embargo, definitivamente creo que vale la pena compartir esta información como respuesta.
fuente
Si alguien lo necesita con fines de secuencias de comandos, aquí hay una solución de una línea.
En el shell POSIX, con PCRE habilitado
grep, intente:DOCKER_ROOT_DIR="$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"En PowerShell:
$DOCKER_ROOT_DIR="$(docker info 2>&1 | foreach {if($_ -match "Docker Root Dir"){$_.TrimStart("Docker Root Dir: ")}})"Tenga en cuenta que, en Windows 10 (a partir de
10.0.18999.1), en configuraciones predeterminadas, devuelve:C:\ProgramData\Dockeren modo "contenedores de Windows"/var/lib/docker, en modo "contenedores de Linux"fuente
DOCKER_ROOT_DIR="$(sudo docker info 2>&1 | grep -oP '(?<=Data loop file: ).*')", pero al final es un archivo, no un directoriosudo ls "$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"enumere los contenidos de este directorio.