Tenho duas imagens Docker, cada uma com muitas camadas. Quero comparar todos os arquivos da primeira imagem com todos os arquivos da segunda, para ver o que foi alterado.
Eu tentei tarar as imagens usando
docker image save <image no> > MyImage.tar
Mas quando eu descompacto isso, recebo mais de 100 diretórios, cada um contendo
VERSION json layer.tar
Então isso é inútil
Uma imagem de contêiner do Docker padrão possui camadas. Eles são coordenados por meio do arquivo de manifesto. Isso pode economizar espaço; por exemplo, se dois contêineres forem construídos a partir da mesma imagem base, o servidor e o tempo de execução não precisarão armazenar essa base duas vezes.
No entanto, é difícil descobrir qual é o resultado de todas essas camadas.
Então, o que você pode fazer, em vez disso, é
create
o contêiner da imagem (isso cria a visualização de execução do contêiner, mas não o inicia) e depoisexport
ele.por exemplo
O resultado
bash.tar
é uma visualização literal do sistema de arquivos antes que o contêiner comece a ser executado.