Não consigo mais usar a janela de encaixe ou executar efetivamente novas imagens - está relatando que tenho 100% de uso do disco. Aqui, você pode ver que estou lançando uma cópia intocada do ubuntu e, no entanto, está me dizendo que não tenho mais espaço em disco:
$ docker run -t -i ubuntu /bin/bash
root@3838b70bd76e:/# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 19G 18G 0 100% /
none 19G 18G 0 100% /
tmpfs 1005M 0 1005M 0% /dev
shm 64M 0 64M 0% /dev/shm
/dev/sda1 19G 18G 0 100% /etc/hosts
tmpfs 1005M 0 1005M 0% /proc/kcore
Separadamente, estou tentando iniciar uma instância do mysql e está me enviando mensagens de erro que acredito estarem conectadas ao fato de que não tenho disco disponível. Quando tento executar o orchardup / mysql, recebo:
ERROR: 1030 Got error 28 from storage engine
O que significa que ficou sem espaço de armazenamento.
Diante disso, como devo interpretar o relatório df -h acima e como posso determinar o que está consumindo 100% do meu disco? Estou executando o docker 1.3, executando o OSX 10.9.4, usando o boot2docker.
Obrigado.
Editar: Como solução alternativa, executeiboot2docker delete
e, em seguida boot2docker init
, parece que todas as minhas imagens foram destruídas (felizmente, posso reconstruí-las com meus arquivos de encaixe ). Agora, quando inicio uma nova imagem do ubuntu:
root@f53d637e3d33:/# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 19G 373M 17G 3% /
none 19G 373M 17G 3% /
tmpfs 1005M 0 1005M 0% /dev
shm 64M 0 64M 0% /dev/shm
/dev/sda1 19G 373M 17G 3% /etc/hosts
tmpfs 1005M 0 1005M 0% /proc/kcore
Muito melhor. Mas ainda estou confuso, deve haver algum tipo de disco global compartilhado em todas as imagens hospedadas pelo boot2docker que foram preenchidas anteriormente?
Edit 2: Acabei de baixar um monte de imagens e agora é o que vejo quando executo a imagem do ubuntu e verifico o espaço livre em disco:
root@f53d637e3d33:/# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 19G 2.7G 15G 16% /
none 19G 2.7G 15G 16% /
tmpfs 1005M 0 1005M 0% /dev
shm 64M 0 64M 0% /dev/shm
/dev/sda1 19G 2.7G 15G 16% /etc/hosts
tmpfs 1005M 0 1005M 0% /proc/kcore
De 3% a 16% consumidos! Claramente, existe algum tipo de disco compartilhado entre todas as minhas imagens que não estou entendendo ...
fonte
Respostas:
Nos hosts do Windows, o boot2docker funciona criando uma máquina virtual usando a caixa virtual. Quando você executa o boot2docker init, ele cria uma máquina virtual e, por padrão, atribui 20G ao disco raiz. esta máquina virtual executa um SO Linux mínimo que, por sua vez, executa o daemon docker real (o daemon docker ainda não é executado nativamente no Windows).
o disco conectado à máquina virtual fornece armazenamento para as imagens da janela de encaixe. para que você possa ver opções adicionais no comando boot2docker init para aumentar o tamanho do disco inicial. isso aumentará o tamanho do disco disponível para uso na máquina virtual, mas como Queasy apontou, você precisará adicionar opções adicionais ao daemon do docker para aumentar o armazenamento disponível para as imagens.
Quando você executa "df -h" no contêiner, o tamanho total do disco relatado é o do espaço em disco alocado para o daemon do docker usando a opção "dm.basesize".
nota: o boot2docker agora está obsoleto em favor do Docker Toolbox. convém atualizar para essa versão; nesse caso, você usaria "docker-machine create" em vez de "boot2docker init". Eu mudei para o docker-toolbox para não poder testar as opções de comando necessárias para o boot2docker init
fonte
Modifique a configuração do docker em / etc / sysconfig / docker-storage e adicione a linha:
Lembre-se de fazer backup da janela de encaixe antes de prosseguir com esta tarefa, pois ela removerá os dados assim que inicializados.
fonte
--storage-opt
não é suportado no OSXConsidere que a unidade pode estar com defeito. Hitachi (Drive Fitness Test), Seagate (Seatools) e Western Digital (Western Digital Data Lifeguard) oferecem software de diagnóstico gratuito para ajudá-lo a determinar isso.
Como um exemplo de como uma unidade defeituosa pode danificar o espaço em disco, fiz backup de unidades de 1 TB que informam ao Windows que elas ainda têm PETABYTES de dados para transferir.
Caso sua unidade esteja funcionando corretamente, use du (Uso do Disco) para ver qual pasta é a maior.
du -h /usr/bin
,du -h /var
oudu -h /home/[username]/Downloads
para ajudar a identificá-lo.Editar: vi que você estava usando o OS X: será necessário usar as ferramentas do disco rígido mencionadas acima como opções inicializáveis ou em algo como o Windows PE gratuito, no qual você pode inicializar e executar essas ferramentas.
fonte
O devicemapper é o mecanismo de armazenamento padrão do docker. Ele tenta pré-alocar 100 GB por padrão em / var / lib / docker. Porém, nem todo esse espaço é realmente usado, e você pode configurá-lo nas opções. Documentos do Docker
fonte