Percebo que o Docker ocupa 12 GB do meu sistema de arquivos:
2.7G /var/lib/docker/vfs/dir
2.7G /var/lib/docker/vfs
2.8G /var/lib/docker/devicemapper/mnt
6.3G /var/lib/docker/devicemapper/devicemapper
9.1G /var/lib/docker/devicemapper
12G /var/lib/docker
Mas, como sei como isso é distribuído pelos contêineres?
Tentei conectar-me aos contêineres executando (o novo comando v1.3)
docker exec -it <container_name> bash
e, em seguida, executando 'df -h' para analisar o uso do disco. Parece estar funcionando, mas não com contêineres que usam 'volumes de'.
Por exemplo, eu uso um contêiner somente de dados para o MongoDB, chamado 'mongo-data'.
Quando executo docker run -it --volumes-from mongo-data busybox
e, em seguida, df -h
dentro do contêiner, ele diz que o sistema de arquivos montado /data/db
(contêiner somente de dados 'mongo-data') usa 11.3G, mas quando o faço du -h /data/db
, diz que usa apenas 2.1G.
Então, como analiso o uso de um contêiner / disco em volume? Ou, no meu caso, como descubro o tamanho do contêiner 'mongo-data'?
fonte
docker-squash
utilitário Jason Wilder . Obtenha-o no GitHub aqui: github.com/jwilder/docker-squashRespostas:
Para ver o tamanho do arquivo de seus contêineres, você pode usar o
--size
argumento dedocker ps
:fonte
docker ps -s
não leva em consideração os logs mantidos dentro de / var / lib / docker /.27.2MB (virtual 173MB)
qual é a diferença entre eles?Após a versão 1.13.0, o Docker inclui um novo comando
docker system df
para mostrar o uso do disco do docker.Para mostrar informações mais detalhadas sobre o uso do espaço:
fonte
docker system df --verbose > docker.stats-2019-07-18.log
Postando isso como resposta, porque meus comentários acima foram ocultados:
Liste o tamanho de um contêiner:
Liste os tamanhos dos volumes de um contêiner:
Editar: lista todos os tamanhos e volumes de contêineres em execução:
NOTA: Altere 'devicemapper' de acordo com o sistema de arquivos do Docker (por exemplo, 'aufs')
fonte
/var/lib/docker/devicemapper: No such file or directory
. Alguma idéia de onde o devicemapper está armazenado no mac?du
comando na VM do host do boot2docker. O comando também pode falhar se você estiver usando, emaufs
vez do mapeador de dispositivos.A parte do volume não funcionou mais, por isso, se alguém estiver interessado, basta alterar um pouco o script acima:
fonte
(essa resposta não é útil, mas deixe aqui, já que alguns dos comentários podem ser)
docker images
mostrará o 'tamanho virtual', ou seja, quanto total, incluindo todas as camadas inferiores. Portanto, faça uma contagem dupla se você tiver contêineres que compartilhem a mesma imagem base.documentação
fonte
Eu uso
docker stats $(docker ps --format={{.Names}}) --no-stream
para obter:fonte
Você pode usar
para ver como o tamanho da imagem é distribuído entre seus vários subcomponentes.
fonte
Lembre-se de que
docker ps --size
pode ser um comando caro, levando mais de alguns minutos para ser concluído. O mesmo se aplica às solicitações de API da lista de contêineressize=1
. É melhor não executá-lo com muita frequência.Veja as alternativas que compilamos, incluindo a
du -hs
opção para o diretório de volume persistente do docker.fonte
Melhorando a resposta de Maxime:
docker ps --size
Você verá algo assim:
Ao iniciar um contêiner, a imagem da qual o contêiner é iniciado é montada somente leitura (virtual) .
Além disso, é montada uma camada gravável, na qual as alterações feitas no contêiner são gravadas.
Portanto, o tamanho Virtual (183 MB no exemplo) é usado apenas uma vez, independentemente de quantos contêineres são iniciados a partir da mesma imagem - posso iniciar um contêiner ou mil; nenhum espaço em disco extra é usado .
O "Tamanho" (2B no exemplo) é único por contêiner, portanto, o espaço total usado no disco é:
183MB + 5B + 2B
Esteja ciente de que o tamanho mostrado não inclui todo o espaço em disco usado para um contêiner.
Coisas que não estão incluídas atualmente são;
- volumes
- troca
- pontos de verificação
- espaço em disco usado para arquivos de log gerados pelo contêiner
https://github.com/docker/docker.github.io/issues/1520#issuecomment-305179362
fonte