Podemos procurar arquivos de imagem disponíveis no site docker, como este:
Como posso saber quais serão os tamanhos de download antes de serem puxados?
docker.io pull [image]
Podemos procurar arquivos de imagem disponíveis no site docker, como este:
Como posso saber quais serão os tamanhos de download antes de serem puxados?
docker.io pull [image]
Respostas:
Observando a API do Docker, a API remota do Docker v1.10 , não parece haver nenhuma maneira de obter o tamanho das imagens. A seção "2.2 Imagens" mostra as especificações de como consultar imagens.
Exemplo
Mas essa consulta precisa ir contra uma instância real do Docker. Aqui está um exemplo mostrando como alguém poderia usar a consulta RESTful acima:
Não vi como consultar os repositórios públicos usando essa chamada RESTful específica. O único outro método RESTful que parecia que você poderia consultar as imagens do docker.io era por meio de pesquisa
GET /images/search
, mas a API não mostra nenhum atributo de tamanho sendo retornado para isso.Referências
fonte
docker search
Esta não é uma resposta direta à sua pergunta, mas espero que seja útil.
No script de uso do disco em minhas experiências com o Docker , uso algo como isto:
Então você pode executar, por exemplo:
Ou você pode fazer o download do script: uso do disco e executar, por exemplo,
./disk-usage "ubuntu busybox gcc"
para exibir o uso do disco (conforme relatado pordu -sh
) para essas 3 imagens:Observe que ele não mostra o download real necessário para uma determinada imagem e exibirá o resultado após o download da imagem, mas fornece uma idéia de quão inchada é uma determinada imagem em comparação com outras.
Você pode executá-lo em uma máquina para decidir se deseja baixar essas imagens em outras máquinas ou usá-las.
fonte
Para a API HTTP v2, o tamanho está disponível através do recurso de tags em
size
efull_size
. Aqui está um exemplo de URL de uma das tags dos meus repositórios:https://cloud.docker.com/v2/repositories/deepdriveio/deepdrive/tags/?page_size=25&page=1
fonte
Se você realmente procurar no código do docker a operação pull, acho que sua resposta está lá. Se a imagem do contêiner não estiver armazenada em cache, durante a extração da imagem, a janela de encaixe coletará primeiro as informações sobre a imagem do registro, como número de camadas, tamanho de cada camada, etc.
Eu me referiria a ler este arquivo.
https://github.com/moxiegirl/docker/blob/master/distribution/xfer/download.go
fonte
Para imagem em outro registro como o Microsoft Container Registry. Eu descobri 3 maneiras.
docker manifest inspect
para observar os dados do manifesto, que podem lhe dar uma idéia de como obter o tamanho compactado da imagem.Para ativar
docker manifest inspect
, editar o~/.docker/config.json
arquivo e definirexperimental
comoenable
. (Referência: docker manifest inspecionar )Envie a imagem para o Docker Hub e você poderá obter o tamanho compactado da imagem no site do Docker Hub.
Use
docker save
para salvar a imagem em um arquivo .tar e, em seguida, compactá-lo em um arquivo .tar.gz.fonte