Onde estão as imagens do Docker armazenadas na máquina hospedeira?

Consegui encontrar os contentores no directório, mas não consigo encontrar as imagens.

Quais são os directórios e ficheiros em /var/lib/docker?

Author: Peter Mortensen, 2013-10-08

20 answers

O conteúdo da pasta /var/lib/docker varia de acordo com o controlador que está a usar para armazenamento .

Por omissão este será aufs mas pode voltar para overlay, overlay2, btrfs, devicemapper ou zfs dependendo do suporte do seu kernel. Na maioria dos lugares isto será aufs mas os RedHats foram com devicemapper.

Pode definir manualmente o controlador de armazenamento com o -s ou --storage-driver= opção para o servidor do Docker .

  • /var/lib/docker/{driver-name} will conter o armazenamento específico do controlador para o conteúdo das imagens.
  • /var/lib/docker/graph/<id> Agora só contém metadados sobre a imagem, nos ficheiros json e layersize.

No caso de:aufs:

  • /var/lib/docker/aufs/diff/<id> tem o conteúdo do Ficheiro das imagens.
  • /var/lib/docker/repositories-aufs é um ficheiro JSON que contém informação de imagem local. Isto pode ser visto com o comando docker images.

No caso de:devicemapper:

  • /var/lib/docker/devicemapper/devicemapper/data guarda as imagens
  • /var/lib/docker/devicemapper/devicemapper/metadata a metadados
  • Note que estes ficheiros são pequenos ficheiros "esparsos", por isso não são tão grandes como parecem.
 452
Author: Matt, 2017-02-13 22:15:05

Ao utilizar o acoplador para aplicação Mac, parece que os contentores estão armazenados no VM Localizado em:

~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
 243
Author: mirosval, 2016-06-05 13:03:52

No caso especial do Mac OS X ou do Windows, utilizando boot2docker, as suas imagens do Docker são armazenadas dentro de uma VM VirtualBox gerida pelo boot2docker.

Este VM será armazenado no local normal das imagens VirtualBox:

OS X: ~/VirtualBox VMs/boot2docker-vm

Janelas: %USERPROFILE%/VirtualBox VMs/boot2docker-vm

Você pode reiniciá-lo se executar (Atenção: Isto irá destruir todas as imagens que você construiu e baixou até agora):

boot2docker down
boot2docker destroy
boot2docker init
boot2docker up
Isto é especialmente útil se mantiver toneladas de imagens intermédias ao construir / depurar uma compilação sem as opções úteis -- rm, passo a citá-las aqui para referência: Uso:
docker build -t webapp --rm=true --force-rm=true .

Em vez de:

docker build -t webapp .
 116
Author: Phil L., 2015-04-25 17:25:24

Na verdade, as imagens do 'Docker' são armazenadas em dois ficheiros, como mostra o seguinte comando

$ docker info

Ficheiro de Dados: /var/lib/docker/devicemapper/devicemapper/data

Ficheiro de meta-dados

: /var/lib/docker/devicemapper/devicemapper/metadata

 72
Author: Marc Rechté, 2017-06-01 12:35:06

As imagens são armazenadas em /var/lib/docker/graph/<id>/layer.

Note que as imagens são apenas diffs da imagem-mãe. O ID pai é gravado com os meta-dados da imagem /var/lib/docker/graph/<id>/json.

Quando você {[2] } uma imagem. Os AUFS irão 'juntar' todas as camadas num sistema de ficheiros utilizável.

 68
Author: creack, 2014-09-04 08:43:07

No 'acoplador para o Windows' recentemente lançado, que usa o Hyper-V, os dados estão localizados no disco rígido virtual do acoplador:

C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx

Você também pode abrir o 'Hyper-V Manager' para o acesso ao Docker / MobyLinuxVM.

 51
Author: Tristan, 2016-07-17 08:40:13

Para alguém que está a usar a caixa de ferramentas do Docker( que usa a máquina do docker), as respostas relativas ao boot2docker no Mac OS X não são válidas. A VM do docker-machine é chamada de "default" e existe na diretoria /Users/<username>/.docker/machine/machines/default/.

 45
Author: MB_CE, 2016-01-14 13:53:07

No Ubuntu você pode "brincar" com imagens em execução {[[4]}

sudo baobab /var/lib/docker

Na verdade, as imagens são armazenadas dentro /var/lib/docker/aufs/diff

screenshot showing disk analyzer tool baobab running on /var/lib/docker

 32
Author: test30, 2014-05-13 13:13:29

Em acoplador para o Windows (janelas nativas), o armazenamento por omissão do contentor é em:

   > docker info
   ...
   Docker Root Dir: C:\ProgramData\Docker
   ...
 18
Author: Tormod Haugene, 2016-10-17 11:02:58

Se está a usar o acoplador para o MAC (não {[[0]}), então a localização é /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/

 17
Author: Sunil Fernandes, 2017-10-05 00:12:33

Como Resposta aqui , Se você está em Mac, ele está localizado em

/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
 6
Author: Ricardo Martins, 2017-05-23 11:55:03

Expandindo-se na resposta do Tristan, nas janelas com Hiper-V pode mover a imagem com estes passos {[3] } do matthuisman:

Nas Janelas 10,

  1. parar acoplador etc
  2. escreva "Hyper-V Manager" na caixa de pesquisa da barra de tarefas e execute-a.
  3. Seleccione o seu PC na área da esquerda (o meu chama-se DESKTOP-CBP**)
  4. carregue com o botão direito na máquina virtual correcta (a minha é chamado MobyLinuxVM)
  5. seleccione " Desligar "(se for running)
  6. carregue com o botão direito nele de novo e seleccione "mover"
  7. siga as indicações
 4
Author: boni, 2018-04-21 19:06:10

Uso o boot2docker para o acoplador no Mac OSX, para que as imagens sejam armazenadas no {[[0]}.

 3
Author: Chu-Siang Lai, 2015-04-13 03:42:25
No acoplador do Windows, OS registos estão aqui.: %USERPROFILE%\AppData\Local\Docker
 3
Author: omasoud, 2016-07-31 08:51:59

Só posso responder a esta pergunta para utilizadores do Ubuntu:

A pasta de topo do 'docker' poderá ser encontrada quando executar o comando docker info

O directório do 'Docker' será indicado nesta linha: "Docker Root Dir: /var/lib/docker"

Acerca das imagens do acoplador, elas estão guardadas dentro do directório do acoplador: /var/lib/docker/aufs/diff/

Lembra-te que estas coisas não são iguais em todas as versões do docker. Actualmente, estou a usar o 1.12.3.
 2
Author: Arif A., 2016-12-08 16:13:56

Se você tiver em mente que o acoplador ainda está rodando em um VM, os caminhos do sistema são relativos ao VM e não do sistema Mac OSX. Como diz, tudo está contido num ficheiro VM:

/Users/MyUserName/Library/Containers / com.encaixe.docker / Data / com.encaixe.controlador.amd64-linux / Docker.qcow2

Tente executar a imagem Alpina com esta opção de volume e o comando ls poderá listar a máquina VM:

Docker run --rm-it-v/: /vm-root alpine: edge ls -l / vm-root

Depois disto, tenta:

Docker run --rm-it-v/: /vm-root alpine: edge ls-l /vm-root/var/lib / docker

Agora, você é capaz de listar a pasta do acoplador da máquina wm

 1
Author: user1842947, 2018-03-22 20:09:27

Verifique a pasta do acoplador em /var/lib

As imagens são armazenadas abaixo do local:

/var/lib/docker/image/overlay2/imagedb/content
 1
Author: Chandra Pal, 2018-06-29 22:15:26

Em Fedora, o Docker usa LVM para armazenamento, se disponível. No meu sistema docker info mostra:

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

Nesse caso, para aumentar o armazenamento, terá de usar ferramentas de linha de comandos LVM ou gestores de partições compatíveis como blivet.

 0
Author: eddygeek, 2017-04-04 04:37:30

No Debian Unstable / Sid,

docker info para encontrar informações em todo o sistema.

As imagens são armazenadas em /var/lib/docker/image/overlay2/imagedb/content e

Os recipientes são armazenados em:/var/lib/docker/containers

Docker version 18.06.0-ce, API version 1.38

 0
Author: Dhanuka, 2018-09-14 05:04:39

E se quiser ver as imagens que tem localmente, terá de executar o docker interactivo com o comando bash(penso que é esse o comando) para obter a linha de comandos normal do linux$. Então corre as imagens do docker. Dentro do mobylinux.vhdx, no /var/lib/docker/ é onde o cache local é armazenado.

 -1
Author: Kenneth Benson, 2016-09-02 18:17:26