Eu tenho um container rodando o GlassFish. Quando tentei confirmar uma imagem, ela se tornou 14 GB. Mais tarde, apaguei /tmp/
no contêiner de 10 GB e tentei confirmar uma imagem, mas a imagem ainda é de 14 GB. Parece que a exclusão de arquivos do contêiner não é refletida no tamanho da imagem. Como corrijo esse problema?
12
glassfish
imagem oficial do Docker tem cerca de 1 GB. Embora seja muito grande para uma imagem do Docker, ela ainda é muito menor do que você parece estar construindo.Respostas:
O problema que você pode estar enfrentando é que a remoção de arquivos em uma confirmação não altera o fato de que o arquivo estava lá em uma imagem anterior, para que a imagem anterior ainda seja 14G.
Dê uma olhada na parte "Camadas" deste artigo: http://woudenberg.io/reducing-docker-image-size/
Para resolver esse problema, você precisa remover os itens em / tmp / dentro do commit original que os gerou, para que a imagem criada como resultado desse commit não os inclua. Isso é fácil quando se usa dockerfiles, mas não é possível se é possível criar imagens com confirmações.
Outra coisa que você pode fazer é esmagar camadas exportando / importando a imagem.
fonte
Estendendo a resposta de Juan Antonio,
Dockerfile
fazer isso não economizará espaço:O que você precisa fazer é:
No lado negativo, isso significa menos cache, como se algo mudasse nessa grande linha de comando, o Docker precisará executar novamente o conjunto inteiro de comandos.
fonte