16 oct. 2018

[Singularity] commande pull

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 pull
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
Nous pouvons constater qu'il y a la possibilité de récupérer des containers depuis 3 sources différentes :


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/debian
 40.36 MiB / 40.36 MiB [=================================================================================================================================================================] 100.00% 983.38 KiB/s 42s
Docker : préalablement choisir le container sur https://hub.docker.com
$ singularity pull docker://ubuntu:latest
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
On constate à la fin une conversion du fichier au format singularity (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