How to manually cache images in Rahti's registry
Since 2nd November 2020, docker hub has imposed a rate limit for image pulls. For Rahti this means a limit of 100 pulls every 6 hours. This limit can be easily reached and it prevents new applications to be deployed if the image is in docker hub.
The error looks like this:
Pulling image "docker.io/centos/python-38-centos7@sha256:da83741689a8d7fe1548fefe7e001c45bcc56a08bc03fd3b29a5636163ca0353" ... pulling image error : toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
One solution is to add docker hub credentials to a project. Each docker hub account (even the free ones), has a limit of 200 pulls every 6 hours. Also the limit will be applied to the pulls made by that account, meanwhile before the limit was shared by all Rahti projects.
Other solution is to cache manually the image in Rahti's internal registry. The process is simple:
- Go to https://registry-console.rahti.csc.fi/registry, there you must do two things:
- Create an image in the project's space.
- Find the login command and use it to login in the terminal.
- Pull the image from docker hub in your laptop, tag it with the same name, and push it to Rahti's registry. For example to cache
docker pull centos:7 docker tag centos:7 docker-registry.rahti.csc.fi/$PROJECT/centos:7 docker push docker-registry.rahti.csc.fi/$PROJECT/centos:7
This has to be repeated for every new tag change.
Last edited Fri Dec 4 2020