I’ve recently tried to update mailcow by running the update.sh
file. When doing so I get…
Error pulling memcached:alpine, retrying...
Error response from daemon: toomanyrequests: You have reached your unauthenticated pull rate limit. https://www.docker.com/increase-rate-limit
About half way through. This makes no sense because I’m logged into Docker (i.e should have higher limit) and I’ve checked using this command
root@na01:/opt/mailcow-dockerized# TOKEN=$(curl --user '...:...' "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6015 0 6015 0 0 20846 0 --:--:-- --:--:-- --:--:-- 20813
root@na01:/opt/mailcow-dockerized# curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1
HTTP/1.1 200 OK
content-length: 527
content-type: application/vnd.docker.distribution.manifest.v2+json
docker-content-digest: sha256:...
docker-distribution-api-version: registry/2.0
etag: "sha256:..."
date: Fri, 28 Mar 2025 16:47:28 GMT
strict-transport-security: max-age=31536000
ratelimit-limit: 200;w=21600
ratelimit-remaining: 200;w=21600
docker-ratelimit-source: ...
It clearly shows I have 200 pulls left. I wonder if maybe the pulls are still somehow being made unauthenticated instead of authenticated with the logged in account. Although this is unlikely. I think it lies further down. I’ve heard that Docker actually limits the IPv6’s subnet instead of the IPv6 it’s self. Causing it to be a “shared” like rate limit. Not sure why, just heard it does.
I’m questioning if anyone can help me out on this and provide some clarity on what to do.