Este é o segundo artigo de uma série de artigos que abordarão as limitações ao baixar imagens de contêiner.
В
As restrições à frequência de download foram anunciadas anteriormente em nosso
Plano gratuito, usuários anônimos: 100 downloads em 6 horas
Plano gratuito, usuários autorizados: 200 downloads em 6 horas
Plano Pro: Ilimitado
Plano tarifário de equipe: ilimitado
A frequência de download do Docker é definida como o número de solicitações de manifesto ao Docker Hub. Os limites de frequência com que as imagens podem ser baixadas baseiam-se no tipo de conta que solicita a imagem, e não no tipo de conta que possui a imagem. Para usuários anônimos (não autorizados), a frequência de download está vinculada ao endereço IP.
NB Você receberá mais sutilezas e casos de melhores práticas
Recebemos perguntas de clientes e da comunidade sobre camadas de imagens de contêineres. Não contamos camadas de imagem ao limitar a frequência de download porque limitamos os downloads de manifestos e o número de camadas (solicitações de blob) é atualmente ilimitado. Essa mudança é baseada no feedback da comunidade para torná-la mais fácil de usar, para que os usuários não precisem contar as camadas em cada imagem que usam.
Análise detalhada das taxas de download de imagens do Docker Hub
Passamos muito tempo analisando downloads de imagens do Docker Hub para determinar o que estava causando o limite de taxa e como exatamente ele deveria ser limitado. O que vimos confirmou que praticamente todos os usuários baixaram imagens em velocidades previsíveis para fluxos de trabalho típicos. No entanto, existe uma influência notável de um pequeno número de utilizadores anónimos, por exemplo, cerca de 30% de todos os downloads provêm de apenas 1% dos utilizadores anónimos.
As novas restrições baseiam-se nesta análise, pelo que a maioria dos nossos utilizadores não será afetada. Essas restrições são feitas para refletir o uso comum dos desenvolvedores - aprender Docker, desenvolver código, criar imagens, etc.
Ajude os desenvolvedores a entender melhor a limitação da taxa de download
Agora que entendemos o impacto, bem como onde deveriam estar os limites, precisávamos determinar as condições técnicas para a operação dessas restrições. Limitar downloads de imagens do registro Docker é bastante difícil. Você não encontrará uma API de upload na descrição do registro - ela simplesmente não existe. Na verdade, o download de uma imagem é uma combinação de solicitações de manifesto e blobs na API, e eles são executados de forma diferente, dependendo do estado do cliente e a imagem solicitada.
Por exemplo, se você já possui uma imagem, o Docker Engine emitirá uma solicitação de manifesto, perceberá que já possui todas as camadas necessárias com base no manifesto aceito e então parará. Por outro lado, se você baixar uma imagem que suporta múltiplas arquiteturas, a consulta do manifesto retornará uma lista de manifestos de imagem para cada arquitetura suportada. O Docker Engine emitirá então outra solicitação de manifesto para a arquitetura específica em que está sendo executado e, em troca, receberá uma lista de todas as camadas da imagem. Em seguida, ele consultará cada camada ausente (blob).
NB Este tópico é abordado mais amplamente em
Acontece que o download de uma imagem é, na verdade, uma ou duas solicitações de manifesto, bem como de zero a solicitações de camada infinita (blob). Historicamente, o Docker rastreou a frequência de download camada por camada, pois está mais associada ao uso da largura de banda. Mas mesmo assim ouvimos a comunidade que isso é mais difícil, pois é necessário rastrear o número de camadas solicitadas, o que levará a ignorar as melhores práticas em relação ao trabalho com Dockerfile, e também é mais intuitivo para usuários que desejam apenas trabalhar com o registro sem muita compreensão dos detalhes.
Portanto, limitamos o número de solicitações com base nas solicitações de manifesto. Isso está diretamente relacionado ao download de imagens, que é de fácil compreensão para os usuários. Há, porém, uma pequena ressalva - se você tentar baixar uma imagem que já existe, a solicitação ainda será levada em consideração, mesmo que você não baixe as camadas. De qualquer forma, esperamos que este método de limitar a frequência de download seja justo e conveniente para os usuários.
Nós estamos esperando pelo seu feedback
Monitoraremos as restrições e faremos os ajustes apropriados com base em casos de uso típicos para garantir que as restrições sejam apropriadas para cada tipo de usuário e, em particular, tentaremos nunca impedir que os desenvolvedores façam seu trabalho.
Fique ligado nas próximas semanas para outro artigo sobre como configurar CI e sistemas de combate à luz dessas mudanças.
Finalmente, como parte do nosso apoio à comunidade de código aberto, lançaremos novos planos de preços de código aberto até 1º de novembro. Para se candidatar, por favor preencha o formulário
Para obter mais informações sobre as últimas alterações nos termos de serviço, entre em contato
Para quem precisa aumentar o limite de frequência de download de imagens, o Docker oferece downloads ilimitados de imagens como recurso
Fonte: habr.com