Issue
I am trying to understand how the docker pull rate limit is enforced. I am doing the following:
singularity build my_img.sif Singularity
where the content of Singularity
is as follows:
Bootstrap:docker
From:centos:7.4.1708
Although I haven't done a single pull in the last six hours, I am getting the following:
[root@rc-predict singularity]# singularity build my_img.sif Singularity
INFO: Starting build...
FATAL: While performing build: conveyor failed to get: Error reading manifest 7.4.1708 in docker.io/library/centos: toomanyrequests:
You have reached your pull rate limit.
You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
To make sure this limit is not coming from centos account, I verified that I can do the following independently:
docker pull centos:7.4.1708
Did anyone else experience this issue/know a fix?
Solution
I've run into a similar issue. I was logged into Docker on the command line (so could bypass rate limits), but Singularity was invoking the Docker API without authentication.
You can tell Singularity to authenticate with Docker by prepending environment variables to your command:
SINGULARITY_DOCKER_USERNAME=<your username> SINGULARITY_DOCKER_PASSWORD=<your password> singularity build my_img.sif Singularity
See this for more detail.
Answered By - web Answer Checked By - Pedro (WPSolving Volunteer)