La commande pull permet de récupérer des containers depuis des URL spécifiques.
Un petit tour sur la page d'aide :
$ singularity help pullNous pouvons constater qu'il y a la possibilité de récupérer des containers depuis 3 sources différentes :
Pull a container from a URI
Usage:
singularity pull [pull options...]
Description:
The 'pull' command allows you to download or build a container from a given
URI. Supported URIs include:
library: Pull an image from the currently configured library
library://[user[collection/[container[:tag]]]]
docker: Pull an image from Docker Hub
docker://user/image:tag
shub: Pull an image from Singularity Hub to CWD
shub://user/image:tag
Options:
-F, --force overwrite an image file if it exists
-h, --help help for pull
--library string the library to pull from (default
"https://library.sylabs.io")
Examples:
From Sylabs cloud library
$ singularity pull library://alpine:latest
From Docker
$ singularity pull docker://tensorflow/tensorflow:latest
From Shub
$ singularity pull shub://vsoch/singularity-images
- Sylabs cloud library (on peut récupérer des adresses depuis la commande search)
- Docker Hub (https://hub.docker.com)
- Shub (hub singularity : https://www.singularity-hub.org)
Sylabs cloud étant nouveau, nous pouvons nous poser la question concernant la subsistance de Shub dans le futur ou être intégrer à la bibliothèque Sylab.
Essayons de télécharger plusieurs containers depuis les 3 sources :
Sylab Library :
$ singularity pull library://dtrudg/linux/debianDocker : préalablement choisir le container sur https://hub.docker.com
40.36 MiB / 40.36 MiB [=================================================================================================================================================================] 100.00% 983.38 KiB/s 42s
$ singularity pull docker://ubuntu:latestOn constate à la fin une conversion du fichier au format singularity (sif).
INFO: Starting build...
Getting image source signatures
Copying blob sha256:124c757242f88002a858c23fc79f8262f9587fa30fd92507e586ad074afb42b6
30.29 MiB / 30.29 MiB [====================================================] 3s
Copying blob sha256:9d866f8bde2a0d607a6d17edc0fbd5e00b58306efc2b0a57e0ba72f269e7c6be
849 B / 849 B [============================================================] 0s
Copying blob sha256:fa3f2f277e67c5cbbf1dac21dc27111a60d3cd2ef494d94aa1515d3319f2a245
469 B / 469 B [============================================================] 0s
Copying blob sha256:398d32b153e84fe343f0c5b07d65e89b05551aae6cb8b3a03bb2b662976eb3b8
853 B / 853 B [============================================================] 0s
Copying blob sha256:afde35469481d2bc446d649a7a3d099147bbf7696b66333e76a411686b617ea1
163 B / 163 B [============================================================] 0s
Copying config sha256:eaed126a557b4b992c2368ae07586921ecc1cf58eefdfd8dc82ea4f67efcfb11
2.62 KiB / 2.62 KiB [======================================================] 0s
Writing manifest to image destination
Storing signatures
INFO: Creating SIF file...
INFO: Build complete: ubuntu_latest.sif
SHUB : préalablement choisir le container sur https://www.singularity-hub.org
$ singularity pull shub://nickjer/singularity-rstudio
281.44 MiB / 281.44 MiB [=================================================================================================================================================================] 100.00% 9.18 MiB/s 30s
Nous pouvons constater que dans le répertoire courant les containers sont bien présents :
$ file *
debian_latest.sif: a /usr/bin/env run-singularity script executable (binary data)
singularity-rstudio_latest.sif: a /usr/bin/env run-singularity script executable (binary data)
ubuntu_latest.sif: a /usr/bin/env run-singularity script executable (binary data)
Aucun commentaire:
Enregistrer un commentaire