O Artifact Registry armazena em cache as imagens públicas do Docker Hub acedidas com frequência em
mirror.gcr.io
. Pode configurar o daemon do Docker para usar uma imagem pública em cache, se estiver disponível, ou extrair a imagem do Docker Hub se não estiver disponível uma cópia em cache.
As imagens em cache em mirror.gcr.io
são:
- Armazenado num repositório gerido por Google Cloud.
- Mais isolado de indisponibilidades do Docker Hub.
- Integrado no Google Cloud ecossistema.
- Mantido sincronizado com o Docker Hub.
Configurar o daemon do Docker
Para configurar o daemon do Docker para extrair imagens da cache do Artifact Registry:
CLI
Configure o daemon de uma das seguintes formas:
Para configurar o daemon do Docker automaticamente no arranque, defina o seguinte valor em
/etc/docker/daemon.json
{ "registry-mirrors": ["https://mirror.gcr.io"] }
Quando iniciar o daemon, introduza o nome do anfitrião do Artifact Registry:
dockerd --registry-mirror=https://mirror.gcr.io
Adicione a seguinte linha ao ficheiro
/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 Preferências do Docker.
- Clique em Daemon.
Clique em Avançadas. No campo JSON, adicione uma chave
registry-mirrors
comhttps://mirror.gcr.io
como valor:{ "registry-mirrors" : [ "https://mirror.gcr.io" ] }
Clique em Aplicar e reiniciar.
Para verificar se a cache está configurada corretamente, execute o seguinte comando:
docker system info
O resultado deve incluir Registry Mirrors
e ser semelhante ao seguinte:
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
Extrair imagens em cache
O Artifact Registry adiciona imagens pedidas com frequência à cache para que fiquem disponíveis para pedidos futuros. Também remove periodicamente imagens que já não são pedidas.
Depois de configurar o daemon do Docker para usar a cache do Artifact Registry, o Docker executa os seguintes passos quando extrai uma imagem pública do Docker Hub com um comando docker pull
:
- O daemon Docker verifica a cache do Artifact Registry e obtém as imagens, se existirem. Se a configuração do daemon incluir outros espelhos do Docker, o daemon verifica cada um por ordem de uma cópia em cache da imagem.
- Se a imagem ainda não for encontrada, o daemon do Docker obtém a imagem do repositório canónico no Docker Hub.
A obtenção de imagens em cache não é contabilizada para os limites de taxa do Docker Hub. No entanto, não existe garantia de que uma imagem específica permaneça em cache durante um período prolongado. Obtenha apenas imagens em cache no mirror.gcr.io
configurando o daemon do Docker.
Para autenticar no Docker Hub imagens que não estão em cache no mirror.gcr.io
,
use repositórios remotos do Artifact Registry. Os repositórios
remotos suportam a autenticação no Docker Hub. Recomendamos que se autentique
no Docker Hub, mesmo que esteja a usar apenas imagens públicas, uma vez que aumenta o seu
limite de taxa de transferência. Para mais informações sobre os limites de taxa de transferência do Docker Hub,
consulte o limite de taxa do Docker Hub.
O que se segue?
- Pode criar repositórios remotos do Artifact Registry para colocar em cache imagens do Docker Hub.
- Pode criar os seus próprios espelhos Docker locais para colocar imagens em cache. Para ver detalhes, consulte a documentação do Docker.
- Leia a documentação do Docker Hub.