Como usar o espelho do Docker Hub do Container Registry

O Container Registry espelha as imagens públicas do Docker Hub que são frequentemente solicitadas pelos usuários do Container Registry. Essas imagens são:

  • armazenadas em um repositório de propriedade do Google;
  • mais protegidas das interrupções do Docker Hub;
  • facilmente integradas ao ecossistema do Google Cloud Platform;
  • sincronizadas com o espelho de registro do Docker Hub. As alterações no Docker Hub em imagens espelhadas serão capturadas pelo espelho do Container Registry em até 30 minutos.

É possível configurar o daemon do Docker para buscar imagens do espelho de registro do Docker Hub do Container Registry. Com o Container Registry configurado como um espelho, ocorre o seguinte quando você busca uma imagem pública:

  • o daemon do Docker verifica o registro do Container Registry e busca as imagens, se elas existirem. É possível ter vários espelhos configurados, como, por exemplo, o próprio espelho local. O daemon do Docker verificará cada espelho configurado para a imagem até que ela seja encontrada;
  • Se a imagem não for encontrada, o daemon do Docker buscará a imagem no repositório canônico no Docker Hub.
  • O Container Registry adicionará imagens solicitadas com frequência ao espelho para que elas sejam disponibilizadas para solicitações futuras.

O espelho do Container Registry é um cache e espelha imagens para as quais recebe solicitações. O Container Registry removerá periodicamente imagens que não são mais solicitadas.

Buscar imagens do espelho do Container Registry

Para configurar o daemon do Docker para buscar imagens do espelho do Container Registry, siga as instruções abaixo.

CLI

  1. Configure o daemon de uma das três maneiras a seguir:

    • 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"]
      }
      
    • Ou, quando você iniciar o daemon, passe no nome do host do Container Registry:

      dockerd --registry-mirror=https://mirror.gcr.io
      
    • Ou adicione a seguinte linha ao arquivo /etc/default/docker:

      DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
      
  2. Dependendo da plataforma, execute um dos seguintes comandos para reiniciar o daemon do Docker:

    sudo restart docker
    sudo service docker stop && sudo service docker start
    docker-machine restart
    

IU do Docker

  1. Abra o menu Preferences do Docker.
  2. Clique em Daemon.
  3. Clique em Advanced. No campo "JSON", adicione uma chave registry-mirrors com http://mirror.gcr.io como valor:

    {
      "registry-mirrors" : [
        "http://mirror.gcr.io"
      ]
    }
    
  4. Clique em Apply & Restart.

Para garantir que o espelho esteja configurado, execute:

docker system info

O resultado deve incluir Registry Mirrors e ser semelhante a:

  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:
   http://mirror.gcr.io

Agora, qualquer um dos comandos docker pull usados para extrair imagens do Docker Hub será solicitado primeiro do espelho do Container Registry.

Ver a lista de imagens espelhadas

É possível visualizar a lista de repositórios e a lista de tags e resumos em um repositório específico.

  • Para ver a lista de repositórios que estão no espelho do Container Registry, execute o comando:

    gcloud container images list --repository=mirror.gcr.io
    

    Esse comando imprime a lista de repositórios que estão diretamente sob mirror.gcr.io. Alguns desses repositórios estão aninhados, por exemplo, mirror.gcr.io/library tem mais repositórios aninhados sob ele.

    É possível visualizar a lista dos repositórios aninhados usando:

    gcloud container images list --repository=[REPO]
    

    em que [REPO] é um repositório em mirror.gcr.io, por exemplo, mirror.gcr.io/library.

    Esse comando imprime a lista de repositórios que estão diretamente sob o repositório especificado.

  • Para visualizar as tags e os resumos em um desses repositórios, use o comando:

    gcloud container images list --repository=mirror.gcr.io/[REPO]
    

    em que [REPO] é um dos repositórios aninhados sob mirror.gcr.io.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…