Erro de limite de taxa do Docker na reconstrução do Launcher

Ao executar um ./launcher rebuild app, recebo os seguintes erros:

x86_64 arch detectado.

AVISO: Vamos começar a baixar a imagem base do Discourse
Este processo pode levar de alguns minutos a uma hora, dependendo da sua velocidade de rede

Por favor, seja paciente

Resposta de erro do daemon: toomanyrequests: Você atingiu seu limite de taxa de download. Você pode aumentar o limite autenticando-se e atualizando: Usage and limits | Docker Docs
Resposta de erro do daemon: toomanyrequests: Você atingiu seu limite de taxa de download. Você pode aumentar o limite autenticando-se e atualizando: Usage and limits | Docker Docs
Impossível encontrar a imagem ‘discourse/base:2.0.20241203-0251’ localmente
docker: Resposta de erro do daemon: toomanyrequests: Você atingiu seu limite de taxa de download. Você pode aumentar o limite autenticando-se e atualizando: Usage and limits | Docker Docs.
Veja ‘docker run --help’.
Sua instalação do Docker não está funcionando corretamente

Veja: Troubleshoot docker installation issues
O site está funcionando bem, mas preciso instalar alguns plugins. Estou tentando obter uma reconstrução limpa do aplicativo antes de fazer qualquer alteração no arquivo app.yml. Alguma ideia?

*** CORREÇÃO PARA O PROBLEMA ***
Meu servidor estava usando IPv6. O DockerHub está usando blocos maiores de IPv6 para determinar a limitação de taxa. Como meu servidor está hospedado na Digital Ocean, fui agrupado em um grupo maior de servidores e excedi o limite de taxa. Desliguei o IPv6 e tudo voltou ao normal. Aqui estão as instruções para desativar o IPv6 em um servidor DO.

5 curtidas

Tentei novamente 10 horas depois. Mesmo resultado. A janela de tempo do Docker Hub é de 6 horas.

Esta é uma instalação limpa do Discourse nos últimos 40 dias. Sem plugins ou personalização no momento. Então…

Como o Discourse Hub é acessado de uma perspectiva de credenciais? Anônimo? Login do Discourse?

Existe alguma maneira de definir credenciais pessoais do Discourse Hub para contornar o limitador de taxa?

Obrigado.

1 curtida

Um teste possivelmente útil é a imagem “hello world” muito pequena:

/var/discourse# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
478afc919002: Pull complete 
Digest: sha256:5b3cc85e16e3058003c13b7821318369dad01dac3dbb877aac3c28182255c724
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

2 curtidas

Mesmos resultados:

docker run hello-world
Impossível encontrar a imagem ‘hello-world:latest’ localmente
docker: Resposta de erro do daemon: toomanyrequests: Você atingiu seu limite de taxa de pull. Você pode aumentar o limite autenticando-se e atualizando: Usage and limits | Docker Docs.
Veja ‘docker run --help’.

1 curtida

Encontrei este problema em dois fóruns do Discourse (servidores/IPs diferentes).

Por favor, seja paciente

Erro na resposta do daemon: toomanyrequests: Você atingiu o limite de taxa de pull. Você pode aumentar o limite autenticando-se e atualizando: https://www.docker.com/increase-rate-limit
Erro na resposta do daemon: toomanyrequests: Você atingiu o limite de taxa de pull. Você pode aumentar o limite autenticando-se e atualizando: https://www.docker.com/increase-rate-limit
Não foi possível encontrar a imagem 'discourse/base:2.0.20241203-0251' localmente
docker: Erro na resposta do daemon: toomanyrequests: Você atingiu o limite de taxa de pull. Você pode aumentar o limite autenticando-se e atualizando: https://www.docker.com/increase-rate-limit.
Veja 'docker run --help'.
Sua instalação do Docker não está funcionando corretamente

Veja: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

Espero que isso não seja uma restrição repentina do Docker para tentar forçar as pessoas a pagar.

1 curtida

Este é o que o assistente de IA do Docker diz, mas os novos limites de taxa não deveriam acontecer até 1º de março. (Se o Discourse fizer mais de 10 pulls durante uma reconstrução, isso provavelmente afetará as pessoas. Editar: parece que já está limitado a 10.)\n\n> Com base nas fontes de conhecimento fornecidas, parece que o Docker realmente fez alterações em suas políticas de limite de taxa recentemente. Aqui está o que posso dizer:\n\n> \n\n> O Docker anunciou novos limites de uso e de taxa para o Docker Hub que entrarão em vigor em 1º de março de 2025. De acordo com a documentação Limites de uso e de taxa do Docker Hub:\n\n> \n\n> 1. Para usuários não autenticados, há um limite de taxa de 10 pulls por hora por endereço IP.\n\n> 2. Para usuários autenticados do Docker Personal, o limite de taxa de pull é de 40 pulls por hora.\n\n> 3. Para usuários autenticados do Docker Pro, Team e Business, não há limites de taxa de pull.\n\n> \n\n> Além disso, o Docker introduziu novos limites de pull com base nos níveis de assinatura:\n\n> \n\n> - Docker Personal: 40 pulls por hora\n\n> - Docker Pro: 25 mil pulls por mês\n\n> - Docker Team: 100 mil pulls por mês\n\n> - Docker Business: 1 milhão de pulls por mês\n\n> \n\n> Essas alterações foram anunciadas em uma nota de lançamento do Docker Hub de 14 de maio de 2020, que afirma:\n\n> \n\n> “O Docker ativou limites de taxa de download para downloads e solicitações de pull no Docker Hub. Isso limita o número de objetos que os usuários podem baixar em um determinado período de tempo.”\n\n> \n\n> Para evitar atingir esses limites, você pode:\n\n> \n\n> 1. Autenticar seus pulls, se ainda não o fez.\n\n> 2. Atualizar para um plano pago se precisar de limites mais altos.\n\n> 3. Implementar as melhores práticas para gerenciar o uso do Docker Hub, como usar cache e otimizar suas estratégias de pull.\n\n> \n\n> Se você estiver enfrentando limites de taxa em vários sites, é possível que esteja atingindo limites para diferentes serviços ou que seu endereço IP esteja sendo compartilhado, levando a limites de taxa cumulativos. No entanto, as informações fornecidas se referem especificamente aos limites de taxa do Docker Hub.

Obrigado por validar que o problema não é apenas no meu sistema.

Consegui atualizar os níveis do gerenciador do Docker e do sistema Discourse de dentro do admin sem problemas. Qualquer tentativa de executar uma reconstrução do launcher resulta em erros de limite de taxa.

2 curtidas

A atualização parece estar funcionando a partir do painel em ambos os fóruns que estão com limite de taxa no terminal.

Onde você está hospedado?

Abri um caso de suporte com a DigitalOcean para isso e tenho uma confirmação de que este é um problema, mas apenas para instâncias com IPv6 ativado.

O Docker Hub está limitando a taxa com base no intervalo de rede em vez de um único IP para IPv6 (o que esgota 100 downloads a cada 6 horas para downloads anônimos quase instantaneamente para grandes provedores de VPS).

Se você desativar o IPv6, deverá conseguir reconstruir.

4 curtidas

Meus sites estão no DigitalOcean com IPv6 ativado.

1 curtida

Mesmo problema então, tente desabilitar o ipv6 no gerenciador web da DO se você não precisar dele para algum outro serviço (acho que você pode fazer isso sem reiniciar o droplet) e tente novamente.

1 curtida

Não vejo uma forma de desativar o IPv6 nas configurações do droplet, mas darei uma olhada mais de perto mais tarde.


Eu estava errado sobre as atualizações funcionarem pelo painel. Uma funcionou, mas a outra falhou no meio. O painel agora diz que está desatualizado:

Editar: a mensagem desapareceu após reiniciar o droplet.

discourse-2

mas clicar nisso me leva a uma página que diz que tudo está atualizado:

Esta foi a mensagem de erro:

...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
undefined
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  Command was killed with SIGKILL (Forced termination): ember build -prod
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:112:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/commands/runner/runner_command.rb:41:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/commands/runner/runner_command.rb:41:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.5/lib/active_support/execution_wrapper.rb:92:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/commands/runner/runner_command.rb:40:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command.rb:71:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command.rb:149:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/command.rb:69:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-7.1.5/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
Spinning up 1 Unicorn worker(s) that were stopped initially

Desativar o IPv6 no servidor Digital Ocean resolveu o problema: Aqui estão as instruções do DO sobre como desativar o IPv6.

4 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.