Singularity

Singularity is an open source-based container platform designed for scientific and high-performance computing (HPC) environments. If you need to run a Docker container on CRC hardware, Singularity is how you do that. For example:

benji@tesla ~ * singularity run docker://godlovedc/lolcow
INFO:    Convert SIF file to sandbox...
 ________________________________________
/ Q: Why did the lone ranger kill Tonto? \
| A: He found out what "kimosabe" really |
\ means.                                 /
 ----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
INFO:    Cleaning up image...
benji@tesla ~ *

Or perhaps more useful - here’s an example of building a qiime2 container:

benji@tesla ~ * singularity run docker://qiime2/core
INFO:    Converting OCI blobs to SIF format
INFO:    Starting build...
Getting image source signatures
Copying blob sha256:05d1a5232b461a4b35424129580054caa878cd56f100e34282510bd4b4082e4d
 43.21 MiB / 43.21 MiB [====================================================] 1s
Copying blob sha256:d974dd5eb235b36f513d4adf68b2dee7029a8bd6f1634a53b6c8300cd0af4eeb
 40.05 MiB / 40.05 MiB [====================================================] 1s
Copying blob sha256:2de22c73730e3ff469c4947978d5cb5c27dc4174d1578b3e5733acd27e9c71ac
 99.36 MiB / 99.36 MiB [====================================================] 2s
Copying blob sha256:444f639f1b280629db24bb0f51af1081a81e4548b10959de32b16fffcd26fc63
 8.24 KiB / 8.24 KiB [======================================================] 0s
Copying blob sha256:c1b600cb48ba75f59e4fc4508de4b78c85285edc4354cf2b2f4ec752e5f661d1
 8.25 KiB / 8.25 KiB [======================================================] 0s
Copying blob sha256:a18061dcd3c0d9b5e75dd5f4d488c53511a3a589d3b1ac908f7c3f786c3ca030
 116 B / 116 B [============================================================] 0s
Copying blob sha256:388df326772c13bcba66692d696b95a168ec93de2fcba09da4e2433a7e2d84d1
 8.00 MiB / 8.00 MiB [======================================================] 0s
Copying blob sha256:0d4efd87f52c20dff2d658c4b789e9613c6ab272b3037198046128e9f28c3ea4
 3.68 MiB / 3.68 MiB [======================================================] 0s
Copying blob sha256:0bbfce1fedf27be5d7af1981801de9acbc2e054b526b950fa790ee84fb8b8728
 2.74 KiB / 2.74 KiB [======================================================] 0s
Copying blob sha256:b3d232d3a21c8e299662a9e19dba7bf6fa1ec8788ec610c67359fec66b79be9a
 2.43 GiB / 2.43 GiB [====================================================] 2m5s
Copying blob sha256:e95dae5a5841a9f8204b9a642bbd5bf809e41fc02657274a90c39f8c0becf639
 175 B / 175 B [============================================================] 0s
Copying blob sha256:95becf1449c324b07b2365715b1e323327ab7d647406fc1c380a2e8f530e3d22
 59.17 KiB / 59.17 KiB [====================================================] 0s
Copying blob sha256:0735d74f6ea3b50c9f479ec5e8378c92b3ae1cd19bdee4191fc305989c2633ff
 52.58 KiB / 52.58 KiB [====================================================] 0s
Copying blob sha256:1511ba949ee41b13eeca95a5204817b6be518341af3d06776b2c6fafe58c1bda
 180 B / 180 B [============================================================] 0s
Copying blob sha256:e600a8709fbb31612d8e496327c642cc8ca977c9d57c11209c0ec096a80c2a6a
 190 B / 190 B [============================================================] 0s
Copying blob sha256:9b0a3d985c5fe2258e29a3c73a00300acac0793d30c1f22d1891650b723be605
 93 B / 93 B [==============================================================] 0s
Copying config sha256:d3292061aa5d2b77a5103fff58c833e6cdb8d7b53b3fb971f751bafe3baa861b
 6.27 KiB / 6.27 KiB [======================================================] 0s
Writing manifest to image destination
Storing signatures
INFO:    Creating SIF file...
INFO:    Build complete: /mnt/ceph/benji/.singularity/cache/oci-tmp/9c7e3a3099729c0c5b948b0ac5a89c10ff278d4ba1daad14db77cf665dd12640/core_latest.sif
INFO:    Image cached as SIF at /mnt/ceph/benji/.singularity/cache/oci-tmp/9c7e3a3099729c0c5b948b0ac5a89c10ff278d4ba1daad14db77cf665dd12640/core_latest.sif
INFO:    Convert SIF file to sandbox...
[WARN  tini (27799)] Tini is not running as PID 1 and isn't registered as a child subreaper.
Zombie processes will not be re-parented to Tini, so zombie reaping won't work.
To fix the problem, use the -s option or set the environment variable TINI_SUBREAPER to register Tini as a child subreaper, or run Tini as PID 1.
benji@tesla:~$ qiime 
Usage: qiime [OPTIONS] COMMAND [ARGS]...

  QIIME 2 command-line interface (q2cli)
  --------------------------------------

  To get help with QIIME 2, visit https://qiime2.org.

  To enable tab completion in Bash, run the following command or add it to
  your .bashrc/.bash_profile:

      source tab-qiime

  To enable tab completion in ZSH, run the following commands or add them to
  your .zshrc:

      autoload bashcompinit && bashcompinit && source tab-qiime

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  info                Display information about current deployment.
  tools               Tools for working with QIIME 2 files.
  dev                 Utilities for developers and advanced users.
  alignment           Plugin for generating and manipulating alignments.
  composition         Plugin for compositional data analysis.
  cutadapt            Plugin for removing adapter sequences, primers, and
                      other unwanted sequence from sequence data.
  dada2               Plugin for sequence quality control with DADA2.
  deblur              Plugin for sequence quality control with Deblur.
  demux               Plugin for demultiplexing & viewing sequence quality.
  diversity           Plugin for exploring community diversity.
  emperor             Plugin for ordination plotting with Emperor.
  feature-classifier  Plugin for taxonomic classification.
  feature-table       Plugin for working with sample by feature tables.
  fragment-insertion  Plugin for extending phylogenies.
  gneiss              Plugin for building compositional models.
  longitudinal        Plugin for paired sample and time series analyses.
  metadata            Plugin for working with Metadata.
  phylogeny           Plugin for generating and manipulating phylogenies.
  quality-control     Plugin for quality control of feature and sequence data.
  quality-filter      Plugin for PHRED-based filtering and trimming.
  sample-classifier   Plugin for machine learning prediction of sample
                      metadata.
  taxa                Plugin for working with feature taxonomy annotations.
  vsearch             Plugin for clustering and dereplicating with vsearch.
benji@tesla:~$ exit
exit
INFO:    Cleaning up image...
benji@tesla ~ *