apptainer / singularity

Singularity has been renamed to Apptainer as part of us moving the project to the Linux Foundation. This repo has been persisted as a snapshot right before the changes.
https://github.com/apptainer/apptainer
Other
2.54k stars 426 forks source link

Singularity pull docker image hang #1879

Closed zhcf closed 6 years ago

zhcf commented 6 years ago

Version of Singularity:

2.5.1

Expected behavior

using singularity pull docker:// can pull the docker image to local,

Actual behavior

hang or failed.

Steps to reproduce behavior

singularity pull docker://centos [root@gpu2 ~]# singularity pull docker://centos WARNING: pull for Docker Hub is not guaranteed to produce the WARNING: same image on repeated pull. Use Singularity Registry WARNING: (shub://) to pull exactly equivalent images. Docker image path: index.docker.io/library/centos:latest Cache folder set to /root/.singularity/docker [1/1] ||----------------------------------| 0.0%

singularity pull docker://tensorflow/tensorflow:latest [root@gpu2 ~]# singularity pull docker://tensorflow/tensorflow:latest WARNING: pull for Docker Hub is not guaranteed to produce the WARNING: same image on repeated pull. Use Singularity Registry WARNING: (shub://) to pull exactly equivalent images. Docker image path: index.docker.io/tensorflow/tensorflow:latest Cache folder set to /root/.singularity/docker [3/13] |========|--------------------------| 23.1% ERROR Error downloading https://index.docker.io/v2/tensorflow/tensorflow/blobs/sha256:5252e5633f1cc91b1dcbf706f62ab60be542df40b3ec764ad20eb7613daa2cef. Do you have permission to write to /root/.singularity/docker?

dtrudg commented 6 years ago

Hi @zhcf - this is working for me on both of the above pulls here on a fiber residential internet connection in Dallas TX. Is there a chance that dockerhub is unavailable generally where you are, due to outage or rate limiting etc? If you get this type of issue are you able to cross-check using a docker pull from a state where docker is not caching the image / layers you are pulling?

zhcf commented 6 years ago

I am in China, the access to some websites is blocked. I try to run the command on the US server, it works. So my first questions, what's the logistic of singularity pull command, it just need access the dockerhub, or it also need access other websites except dockerhub? Second, whether I can set another dockerhub adress since we have dockerhub mirror in China, https://registry.docker-cn.com Thanks

dtrudg commented 6 years ago

the pull from docker:// uris only contacts dokerhub. You might want to try e.g. singularity -d pull docker://registry.docker-cn.com/alpine - I'm not sure if that site works outside of China? I get a 404 trying from the US.

zhcf commented 6 years ago

Yes, it works if I add the registry.docker-cn.com before the image, thank you. singularity pull docker://registry.docker-cn.com/library/alpine singularity pull docker://registry.docker-cn.com/tensorflow/tensorflow:latest