Os seguintes avisos de descontinuação afetam o Container Registry. Consulte também os avisos de descontinuação do Docker e o respetivo changelog.
API Docker Registry v1 e clientes Docker abaixo da versão 1.6
A 14 de dezembro de 2016, anunciámos que, a partir de 28 de fevereiro de 2017, com o lançamento do Docker v1.13, o Docker Engine já não suporta o protocolo v1.
Como resultado, o Container Registry já não suporta clientes Docker abaixo da versão 1.6. Após 28 de fevereiro de 2017, os clientes do Docker abaixo da versão 1.6 não podem comunicar com a API Container Registry, e todas as imagens de contentores no protocolo v1 armazenadas no Container Registry deixam de estar disponíveis.
Para ver se esta alteração afeta as suas imagens, siga estes passos:
Verifique que versão do cliente Docker está a usar executando o seguinte comando:
gcloud docker -- --version
Se a versão do cliente for inferior à versão 1.6, tem de atualizar o cliente do Docker. Em seguida, tem de atualizar as imagens para o protocolo Docker Registry v2.
Extraia uma imagem v1 afetada:
gcloud docker -- pull gcr.io/[PROJECT-ID]/[IMAGE]
Envie novamente a imagem:
gcloud docker -- push gcr.io/[PROJECT-ID]/[IMAGE]
Para mais informações sobre os protocolos v1 e v2 do Docker Registry, consulte o artigo Formatos de imagens de contentores.
Buckets do Container Registry não padrão
A 28 de fevereiro de 2017, a utilização de registos "bring-your-own-bucket", como b.gcr.io
e bucket.gcr.io
, foi descontinuada. O Container Registry já não
serve imagens de contentores alojadas nesses contentores.
Para continuar a usar as suas imagens, tem de movê-las para uma localização do Container Registry padrão, como gcr.io
, us.gcr.io
, asia.gcr.io
ou eu.gcr.io
.
Para migrar as suas imagens de contentores de um contentor não padrão para um padrão, siga estes passos:
Extraia as imagens do contentor não padrão:
gcloud docker -- pull b.gcr.io/[BUCKET-NAME]/[IMAGE]:[TAG]
Volte a etiquetar as imagens com um nome de localização de registo padrão:
gcloud docker -- tag b.gcr.io/[BUCKET-NAME]/[IMAGE]:[TAG] [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
Volte a enviar a imagem para o Container Registry (com a versão 1.6 ou posterior do cliente Docker) através do ID do projeto de destino:
gcloud docker -- push [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
Alteração ao armazenamento de metadados de imagens de contentores
A partir de 28 de fevereiro de 2017, o Container Registry alterou a localização de armazenamento dos ficheiros de metadados de imagens de contentores. Os metadados de imagens referem-se a informações como nomes de imagens, etiquetas de imagens e manifestos de imagens que identificam os ficheiros de camadas (por digest) que compõem uma imagem.
Esta alteração pode afetar-lhe se aceder ou manipular diretamente os ficheiros de metadados no seu contentor do Cloud Storage, como o histórico de alterações ou a gestão do ciclo de vida dos objetos para eliminação.
Anteriormente, quando enviava uma imagem para o Container Registry, a API Container Registry armazenava os metadados e os ficheiros de camadas dessas imagens num contentor do Cloud Storage no seu projeto. A partir de 28 de fevereiro de 2017, o Container Registry armazena metadados de imagens numa base de dados de back-end de alto desempenho para melhorar o desempenho e a funcionalidade. Os ficheiros de camadas de imagens continuam armazenados no Cloud Storage.
Foi adicionada automaticamente uma conta de serviço do Container Registry ao seu projeto
com um nome semelhante a [PROJECT-NUMBER]@containerregistry.iam.gserviceaccount.com
.
Esta conta de serviço ativou a nova API Container Registry e geriu a migração. Não elimine nem reduza a categoria desta conta de serviço, nem desative a nova API Container Registry.
Comando gcloud docker e clientes Docker acima da versão 18.03
A partir de 3 de abril de 2018, o gcloud docker
não é suportado para versões do cliente Docker superiores a 18.03.
Para autenticar pedidos ao Container Registry para versões de cliente superiores a 18.03,
use gcloud
como um auxiliar de credenciais do Docker. Para isso, execute o seguinte comando:
gcloud auth configure-docker
Em alternativa, use um dos outros métodos de autenticação avançados.
docker build