LotusJeff
(Jeff Cocking)
2024 年12 月 24 日 03:34
1
运行 ./launcher rebuild app 时,我收到以下错误:
检测到 x86_64 架构。
警告:我们将开始下载 Discourse 基础镜像
此过程可能需要几分钟到一小时,具体取决于您的网络速度
请耐心等待
错误响应来自守护进程:toomanyrequests:您已达到拉取速率限制。您可以通过身份验证和升级来提高限制:Usage and limits | Docker Docs
错误响应来自守护进程:toomanyrequests:您已达到拉取速率限制。您可以通过身份验证和升级来提高限制:Usage and limits | Docker Docs
在本地找不到镜像 ‘discourse/base:2.0.20241203-0251’
docker:错误响应来自守护进程:toomanyrequests:您已达到拉取速率限制。您可以通过身份验证和升级来提高限制:https://www.docker.com/increase-rate-limit。
请参阅 ‘docker run --help’。
您的 Docker 安装无法正常工作
请参阅:Troubleshoot docker installation issues
网站运行正常,但我需要安装一些插件。在对 app.yml 文件进行任何更改之前,我正尝试对应用程序进行干净重建。有什么想法?
*** 问题修复 ***
我的服务器正在使用 IPv6。DockerHub 使用更大的 IPv6 块来确定速率限制。由于我的服务器托管在 Digital Ocean,我被归入一个更大的服务器组,并超出了速率限制。我关闭了 IPv6,一切恢复正常。以下是在 DO 服务器上关闭 IPv6 的说明。
5 个赞
LotusJeff
(Jeff Cocking)
2024 年12 月 24 日 15:05
2
10小时后我再次尝试。结果相同。Docker Hub 的时间窗口是 6 小时。
这是一个 40 天内干净的 discourse 安装。目前没有插件或自定义。所以……
从凭据角度来看,discourse hub 是如何访问的?匿名?Discourse 登录?
有没有办法设置个人 discourse hub 凭据来绕过速率限制器?
谢谢。
1 个赞
Ed_S
(Ed S)
2024 年12 月 24 日 15:34
3
一个可能很有用的测试是这个非常小的 hello world 镜像:
/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 个赞
j127
2024 年12 月 24 日 18:44
5
我在两个 Discourse 论坛(不同的服务器/IP)上都遇到了这个问题。
请耐心等待
守护进程返回错误:toomanyrequests: 您已达到拉取速率限制。您可以通过身份验证和升级来提高限制:https://www.docker.com/increase-rate-limit
守护进程返回错误:toomanyrequests: 您已达到拉取速率限制。您可以通过身份验证和升级来提高限制:https://www.docker.com/increase-rate-limit
在本地找不到镜像 'discourse/base:2.0.20241203-0251'
docker:守护进程返回错误:toomanyrequests: 您已达到拉取速率限制。您可以通过身份验证和升级来提高限制:https://www.docker.com/increase-rate-limit。
请参阅 'docker run --help'。
您的 Docker 安装无法正常工作
参见:https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
我希望这不是 Docker 为了强迫人们付费而突然实施的限制。
1 个赞
j127
2024 年12 月 24 日 18:58
6
这是 Docker 的 AI 助手所说的,但新的速率限制要到 3 月 1 日才开始生效。(如果 Discourse 在重建过程中拉取次数超过 10 次,那可能会影响到用户。编辑: 看起来已经[限制为 10 次了](Usage and limits | Docker Docs
根据提供的知识来源,Docker 最近确实对其速率限制策略进行了一些更改。以下是我能告诉你的:
Docker 宣布了新的 Docker Hub 使用量和速率限制,将于 2025 年 3 月 1 日生效。根据 Docker Hub 使用量和速率限制 文档:
对于未经验证的用户,每小时每个 IP 地址的拉取次数限制为 10 次。
对于已验证的 Docker 个人用户,每小时的拉取次数限制为 40 次。
对于 Docker Pro、Team 和 Business 已验证用户,没有拉取次数限制。
此外,Docker 还根据订阅级别引入了新的拉取次数限制:
Docker 个人版:每小时 40 次拉取
Docker Pro 版:每月 25K 次拉取
Docker Team 版:每月 100K 次拉取
Docker Business 版:每月 1M 次拉取
这些更改在 2020 年 5 月 14 日的 Docker Hub 发行说明 中已宣布,其中指出:
“Docker 已为 Docker Hub 上的下载和拉取请求启用了下载速率限制。这限制了用户在指定时间范围内可以下载的对象数量。”
为避免达到这些限制,您可以:
如果尚未进行身份验证,请对您的拉取进行身份验证。
如果需要更高的限制,请升级到付费套餐。
实施管理 Docker Hub 使用量的最佳实践,例如使用缓存和优化您的拉取策略。
如果您在多个网站上遇到速率限制,可能是因为您达到了不同服务的限制,或者您的 IP 地址被共享,导致累积的速率限制。但是,提供的信息专门针对 Docker Hub 的速率限制。
LotusJeff
(Jeff Cocking)
2024 年12 月 24 日 19:08
7
感谢您确认问题并非仅出在我的系统上。
我已成功地在管理员界面中升级了 Docker 管理程序和 Discourse 系统级别,没有任何问题。但任何时候我尝试运行 launcher rebuild,都会收到速率限制错误。
2 个赞
j127
2024 年12 月 24 日 20:26
8
从仪表板更新似乎对终端中受到速率限制的两个论坛都有效。
您托管在哪里?
我已经就此问题向 DigitalOcean 提交了支持案例,并收到了确认,这确实是一个问题,但仅限于启用了 ipv6 的 droplet。
Docker Hub 基于网络范围而不是单个 IP 来限制速率(对于启用了 ipv6 的情况),这会导致大型 VPS 提供商的匿名拉取在 6 小时内几乎瞬间耗尽 100 次拉取。
如果您禁用 ipv6,应该就可以重建了。
4 个赞
j127
2024 年12 月 24 日 20:56
10
我的网站托管在 DigitalOcean 上,并启用了 IPv6。
1 个赞
那么也是同样的问题,尝试禁用 DO Web 管理中的 ipv6,如果你不需要它用于其他服务的话(我认为你可以在不重启 droplet 的情况下完成此操作),然后重试。
1 个赞
j127
2024 年12 月 24 日 21:31
12
在液滴设置中看不到关闭 IPv6 的方法,但稍后我会仔细查看。
我之前关于从仪表板更新的说法是错误的。一个更新成功了,但另一个在中间崩溃了。仪表板现在显示它已过时:
编辑: 重启液滴后,消息消失了。
但点击它会带我到一个显示一切都已更新的页面:
这是错误消息:
...[@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
LotusJeff
(Jeff Cocking)
2024 年12 月 24 日 21:47
13
关闭 Digital Ocean 服务器上的 IPv6 解决了该问题:以下是 DO 关于如何关闭 IPv6 的说明。
4 个赞
system
(system)
关闭
2025 年1 月 23 日 21:48
14
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.