Pull Containers
Let’s start with the basics. We want to pull a container! If you click on the “pull” button
in the interface, you will be taken to the pull interface. It’s very simple - you write the
unique resource identifier (uri) such as library/ubuntu:latest
in the box in the top
left, and then select the build endpoint, one of:
- Docker Hub
- Singularity Hub
- Nvidia GPU Cloud
We will be adding other endpoints as they are requested.
Let’s pull an image, vanessa/algorithms:fireworks
. It’s on Docker Hub, so we select the first button in the top right.
Then we click pull!
When your container is done, the last line is a link to view it:
Clicking the link will show the container view.
Right now this is just metadata, but we’d like to customize this view to be meaningful and fun for you! Let @vsoch know what you would like to see here!
Where is the container?
Remember, when you’ve pulled containers, they are accessible in and outside of the container.
# outside the container
$ ls data/.singularity/shub
vanessa vanessa-algorithms:fireworks.simg
# inside the container (recommended)
$ docker exec -it tunel bash
$ sregistry images
Containers: [date] [location] [client] [uri]
1 April 16, 2018 local [hub] vanessa/algorithms:fireworks@7e71bb28a238b74c816a74a12b6509cc
$ container=vanessa/algorithms:fireworks@7e71bb28a238b74c816a74a12b6509cc
$ sregistry get $container
# /root/.singularity/shub/vanessa-algorithms:fireworks.simg
singularity run --contain /root/.singularity/shub/vanessa-algorithms:fireworks.simg --boum
How do I add tokens for Nvidia?
Nvidia is one of the Singularity Global Client plugins. If you try to select it, you will be instructed to add your token under settings:
And under settings the box for Nvidia is the only one there :)
When you update it, you can then go back to pull, and the button will not show the same message. Pull Away, Merrill!
Note that Tunel currently uses the Nvidia client from Singularity Global client, and not native Singularity as there may still be issues with pulling.
You are most likely going to want to use Tunel on your laptop where you can easily build and pull, and then transfer elsewhere that you cannot (like your local cluster resource.) We will discuss this more in detail when we talk about Globus endpoints.
Where to Next?