O Container Registry armazena em cache as imagens públicas do Docker Hub acessadas com frequência
em mirror.gcr.io
. Você pode configurar o daemon do Docker para usar uma imagem
pública armazenada em cache, se houver uma disponível, ou extrair a imagem do Docker Hub se uma cópia em cache
não estiver disponível.
Os serviços do Google Cloud, como o Cloud Build e o Google Kubernetes Engine, verificam automaticamente se há imagens em cache antes de tentar extrair uma imagem do Docker Hub.
Imagens em cache em mirror.gcr.io
são:
- armazenadas em um repositório gerenciado pelo Google;
- mais protegidas das interrupções do Docker Hub;
- integradas facilmente ao ecossistema do Google Cloud;
- Sincronizadas com o Docker Hub.
Como configurar o daemon do Docker
Para configurar o daemon do Docker para extrair imagens do cache do Container Registry:
CLI
Configure o daemon de uma das seguintes maneiras:
Para configurar o daemon do Docker automaticamente na inicialização, defina o seguinte valor em
/etc/docker/daemon.json
{ "registry-mirrors": ["https://mirror.gcr.io"] }
Ao iniciar o daemon, passe no nome do host do Container Registry:
dockerd --registry-mirror=https://mirror.gcr.io
Adicione a linha a seguir ao arquivo
/etc/default/docker
:DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
Reinicie o daemon do Docker.
No Linux, execute um dos seguintes comandos:
sudo service docker restart
ou
sudo service docker stop && sudo service docker start
No macOS ou Windows, execute o seguinte comando:
docker-machine restart
IU do Docker
- Abra o menu Preferences do Docker.
- Clique em Daemon.
Clique em Advanced. No campo JSON, adicione uma chave
registry-mirrors
comhttps://mirror.gcr.io
como um valor:{ "registry-mirrors" : [ "https://mirror.gcr.io" ] }
Clique em Apply & Restart.
Para verificar se o cache está configurado corretamente, execute:
docker system info
A saída deve incluir Registry Mirrors
e deve ser semelhante a
esta:
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 2
Server Version: 17.03.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
...
Registry Mirrors:
https://mirror.gcr.io
Como extrair imagens armazenadas em cache
O Container Registry adiciona imagens solicitadas com frequência ao cache para que elas sejam disponibilizadas para solicitações futuras. Ele também remove periodicamente imagens que não são mais solicitadas.
Depois de configurar o daemon do Docker para usar o cache do Container Registry,
o Docker executará as seguintes etapas quando você extrair uma imagem pública do Docker Hub
com um comando docker pull
:
- O daemon do Docker verifica o cache do Container Registry e busca as imagens, se elas existirem. Se a configuração do daemon incluir outros espelhos do Docker, ele verificará cada um deles para uma cópia em cache da imagem.
- Se a imagem ainda não for encontrada, o daemon do Docker busca a imagem no repositório canônico no Docker Hub.
Extrair imagens em cache não é contabilizado em limites de taxa do Docker Hub. No entanto, não há garantia de que uma imagem específica será armazenada em cache por um longo período. Consiga imagens em cache em mirror.gcr.io
configurando o daemon do Docker. Uma solicitação para extrair diretamente do mirror.gcr.io
falhará se não existir uma cópia em cache da imagem.
A seguir
- É possível criar seus próprios espelhos do Docker locais para armazenar imagens em cache. Para saber detalhes, consulte a documentação do Docker.
- Leia a documentação do Docker Hub.