Comments

10 Comments
karma

Install singularity: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-8-epel-testing.novalocal
[centos@singularity-3 ~]$ cat /etc/os-release 
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
[centos@singularity-3 ~]$ sudo yum -y install singularity-3.8.1 --enablerepo=epel-testing
Extra Packages for Enterprise Linux 8 - Testing 129 kB/s | 1.2 MB     00:09    
Last metadata expiration check: 0:00:01 ago on Thu 19 Aug 2021 05:11:26 PM UTC.
Dependencies resolved.
================================================================================
 Package            Architecture  Version             Repository           Size
================================================================================
Upgrading:
 singularity        x86_64        3.8.1-1.el8         epel-testing         37 M

Transaction Summary
================================================================================
Upgrade  1 Package

Total download size: 37 M
Downloading Packages:
singularity-3.8.1-1.el8.x86_64.rpm              9.5 MB/s |  37 MB     00:03    
--------------------------------------------------------------------------------
Total                                           5.2 MB/s |  37 MB     00:07     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Upgrading        : singularity-3.8.1-1.el8.x86_64                         1/2 
  Cleanup          : singularity-3.8.0-1.el8.x86_64                         2/2 
  Running scriptlet: singularity-3.8.0-1.el8.x86_64                         2/2 
  Verifying        : singularity-3.8.1-1.el8.x86_64                         1/2 
  Verifying        : singularity-3.8.0-1.el8.x86_64                         2/2 
Installed products updated.

Upgraded:
  singularity-3.8.1-1.el8.x86_64                                                

Complete!
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el8
[centos@singularity-3 ~]$

Build and exec a container from a definition file: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-8-epel-testing.novalocal
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el8
[centos@singularity-3 ~]$ sudo singularity build centos-7.9.2009.sif naked-singularity/definition-files/centos/Singularity.centos-7.9.2009
INFO:    Starting build...
INFO:    Skipping GPG Key Import
warning: Generating 18 missing index(es), please wait...
INFO:    Adding owner write permission to build path: /tmp/build-temp-530090534/rootfs
INFO:    Running setup scriptlet
INFO:    Running post scriptlet
+ /bin/bash /.post.script
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: ftp.ussg.iu.edu
 * extras: mirrors.liquidweb.com
 * updates: mirror.steadfastnet.com
base                                                     | 3.6 kB     00:00     
extras                                                   | 2.9 kB     00:00     
updates                                                  | 2.9 kB     00:00     
(1/4): base/7/x86_64/group_gz                              | 153 kB   00:03     
(2/4): extras/7/x86_64/primary_db                          | 242 kB   00:03     
(3/4): base/7/x86_64/primary_db                            | 6.1 MB   00:03     
(4/4): updates/7/x86_64/primary_db                         | 9.6 MB   00:03     
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be installed
--> Finished Dependency Resolution
...
Running transaction
  Erasing    : pulseaudio-libs-devel-10.0-6.el7_9.x86_64                    1/1 
  Verifying  : pulseaudio-libs-devel-10.0-6.el7_9.x86_64                    1/1 

Removed:
  pulseaudio-libs-devel.x86_64 0:10.0-6.el7_9                                   

Complete!
Loaded plugins: fastestmirror
Cleaning repos: base epel extras updates
Cleaning up list of fastest mirrors
INFO:    Adding labels
INFO:    Adding environment to container
INFO:    Adding runscript
INFO:    Creating SIF file...
INFO:    Build complete: centos-7.9.2009.sif
[centos@singularity-3 ~]$ singularity exec centos-7.9.2009.sif python --version
Python 2.7.5
[centos@singularity-3 ~]$

Pull and run a container from DockerHub: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-8-epel-testing.novalocal
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el8
[centos@singularity-3 ~]$ singularity pull docker://godlovedc/lolcow
INFO:    Converting OCI blobs to SIF format
INFO:    Starting build...
Getting image source signatures
Copying blob 9fb6c798fa41 done  
Copying blob 3b61febd4aef done  
Copying blob 9d99b9777eb0 done  
Copying blob d010c8cf75d7 done  
Copying blob 7fac07fb303e done  
Copying blob 8e860504ff1e done  
Copying config 73d5b1025f done  
...
2021/08/19 17:16:21  info unpack layer: sha256:3b61febd4aefe982e0cb9c696d415137384d1a01052b50a85aae46439e15e49a
2021/08/19 17:16:21  info unpack layer: sha256:9d99b9777eb02b8943c0e72d7a7baec5c782f8fd976825c9d3fb48b3101aacc2
2021/08/19 17:16:21  info unpack layer: sha256:d010c8cf75d7eb5d2504d5ffa0d19696e8d745a457dd8d28ec6dd41d3763617e
2021/08/19 17:16:21  info unpack layer: sha256:7fac07fb303e0589b9c23e6f49d5dc1ff9d6f3c8c88cabe768b430bdb47f03a9
2021/08/19 17:16:21  info unpack layer: sha256:8e860504ff1ee5dc7953672d128ce1e4aa4d8e3716eb39fe710b849c64b20945
INFO:    Creating SIF file...
[centos@singularity-3 ~]$ singularity run lolcow_latest.sif 
 _______________________________________
< You will be run over by a beer truck. >
 ---------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
[centos@singularity-3 ~]$

Pull a container from GHCR via oras and shell into it: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-8-epel-testing.novalocal
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el8
[centos@singularity-3 ~]$ singularity pull oras://ghcr.io/mkandes/naked-singularity:ubuntu-20.04
INFO:    Downloading oras image
[centos@singularity-3 ~]$ singularity shell naked-singularity_ubuntu-20.04.sif 
Singularity> python3 --version
Python 3.8.10
Singularity> md5sum naked-singularity_ubuntu-20.04.sif 
da4e0bd4266ebdbaa68235ef74883c23  naked-singularity_ubuntu-20.04.sif
Singularity> sha256sum naked-singularity_ubuntu-20.04.sif 
4ba73520c64bdf856d25b92e0bd8a22b52f346c258a4ac101f36bead971682a2  naked-singularity_ubuntu-20.04.sif
Singularity>

Convert a SIF to a sandbox and then modify it: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-8-epel-testing.novalocal
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el8
[centos@singularity-3 ~]$ sudo singularity build --sandbox centos-7.9.2009 centos-7.9.2009.sif 
INFO:    Starting build...
INFO:    Verifying bootstrap image centos-7.9.2009.sif
WARNING: integrity: signature not found for object group 1
WARNING: Bootstrap image could not be verified, but build will continue.
INFO:    Creating sandbox directory...
INFO:    Build complete: centos-7.9.2009
[centos@singularity-3 ~]$ sudo singularity shell --writable centos-7.9.2009
Singularity> python3 --version
Python 3.6.8
Singularity> python --version
Python 2.7.5
Singularity> yum remove python3
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package python3.x86_64 0:3.6.8-18.el7 will be erased
--> Processing Dependency: python(abi) = 3.6 for package: python3-setuptools-39.2.0-10.el7.noarch
--> Processing Dependency: python(abi) = 3.6 for package: python3-pip-9.0.3-8.el7.noarch
--> Processing Dependency: python(abi) = 3.6 for package: python3-libs-3.6.8-18.el7.x86_64
--> Processing Dependency: python(abi) = 3.6 for package: python3-setuptools-39.2.0-10.el7.noarch
--> Processing Dependency: python(abi) = 3.6 for package: python3-pip-9.0.3-8.el7.noarch
--> Processing Dependency: python(abi) = 3.6 for package: python3-libs-3.6.8-18.el7.x86_64
--> Running transaction check
---> Package python3-libs.x86_64 0:3.6.8-18.el7 will be erased
---> Package python3-pip.noarch 0:9.0.3-8.el7 will be erased
---> Package python3-setuptools.noarch 0:39.2.0-10.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                  Arch         Version             Repository      Size
================================================================================
Removing:
 python3                  x86_64       3.6.8-18.el7        @updates        39 k
Removing for dependencies:
 python3-libs             x86_64       3.6.8-18.el7        @updates        35 M
 python3-pip              noarch       9.0.3-8.el7         @base          9.1 M
 python3-setuptools       noarch       39.2.0-10.el7       @base          3.6 M

Transaction Summary
================================================================================
Remove  1 Package (+3 Dependent packages)

Installed size: 47 M
Is this ok [y/N]: Y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : python3-pip-9.0.3-8.el7.noarch                               1/4 
  Erasing    : python3-setuptools-39.2.0-10.el7.noarch                      2/4 
  Erasing    : python3-3.6.8-18.el7.x86_64                                  3/4 
  Erasing    : python3-libs-3.6.8-18.el7.x86_64                             4/4 
  Verifying  : python3-libs-3.6.8-18.el7.x86_64                             1/4 
  Verifying  : python3-setuptools-39.2.0-10.el7.noarch                      2/4 
  Verifying  : python3-3.6.8-18.el7.x86_64                                  3/4 
  Verifying  : python3-pip-9.0.3-8.el7.noarch                               4/4 

Removed:
  python3.x86_64 0:3.6.8-18.el7                                                 

Dependency Removed:
  python3-libs.x86_64 0:3.6.8-18.el7          python3-pip.noarch 0:9.0.3-8.el7  
  python3-setuptools.noarch 0:39.2.0-10.el7  

Complete!
Singularity> python3 --version
bash: /usr/bin/python3: No such file or directory
Singularity> exit
exit
[centos@singularity-3 ~]$ singularity exec centos-7.9.2009 python3 --version
FATAL:   "python3": executable file not found in $PATH
[centos@singularity-3 ~]$ singularity exec centos-7.9.2009 python --version
Python 2.7.5
[centos@singularity-3 ~]$
karma

Install singularity: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-7-epel-testing.novalocal
[centos@singularity-3 ~]$ cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

[centos@singularity-3 ~]$ sudo yum -y install singularity-3.8.1 --enablerepo=epel-testing
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftpmirror.your.org
 * epel: mirror.math.princeton.edu
 * epel-testing: mirror.math.princeton.edu
 * extras: mirror.netdepot.com
 * updates: repo1.dal.innoscale.net
Resolving Dependencies
--> Running transaction check
---> Package singularity.x86_64 0:3.8.0-1.el7 will be updated
---> Package singularity.x86_64 0:3.8.1-1.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch          Version             Repository           Size
================================================================================
Updating:
 singularity        x86_64        3.8.1-1.el7         epel-testing         37 M

Transaction Summary
================================================================================
Upgrade  1 Package

Total download size: 37 M
Downloading packages:
epel-testing/x86_64/prestodelta                            |   75 B   00:03     
singularity-3.8.1-1.el7.x86_64.rpm                         |  37 MB   00:04     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : singularity-3.8.1-1.el7.x86_64                                                                                                                    1/2 
  Cleanup    : singularity-3.8.0-1.el7.x86_64                                                                                                                    2/2 
  Verifying  : singularity-3.8.1-1.el7.x86_64                                                                                                                    1/2 
  Verifying  : singularity-3.8.0-1.el7.x86_64                                                                                                                    2/2 

Updated:
  singularity.x86_64 0:3.8.1-1.el7                                                                                                                                   

Complete!
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el7
[centos@singularity-3 ~]$

Build (debootstrap) and exec a container from a definition file: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-7-epel-testing.novalocal
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el7
[centos@singularity-3 ~]$ sudo singularity build ubuntu-18.04.sif naked-singularity/definition-files/ubuntu/Singularity.ubuntu-18.04
INFO:    Starting build...
...
The following packages will be REMOVED:
  libdumbnet1*
0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded.
After this operation, 91.1 kB disk space will be freed.
(Reading database ... 50661 files and directories currently installed.)
Removing libdumbnet1:amd64 (1.12-7build1) ...
Processing triggers for libc-bin (2.27-3ubuntu1.4) ...
INFO:    Adding labels
INFO:    Adding environment to container
INFO:    Adding runscript
INFO:    Creating SIF file...
INFO:    Build complete: ubuntu-18.04.sif
[centos@singularity-3 ~]$ singularity exec ubuntu-18.04.sif python3 --version
Python 3.6.9
[centos@singularity-3 ~]$

Pull and run a container from DockerHub: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-7-epel-testing.novalocal
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el7
[centos@singularity-3 ~]$ singularity pull docker://godlovedc/lolcow
INFO:    Converting OCI blobs to SIF format
INFO:    Starting build...
Getting image source signatures
Copying blob 9fb6c798fa41 done  
Copying blob 3b61febd4aef done  
Copying blob 9d99b9777eb0 done
...
2021/08/19 16:36:47  info unpack layer: sha256:3b61febd4aefe982e0cb9c696d415137384d1a01052b50a85aae46439e15e49a
2021/08/19 16:36:47  info unpack layer: sha256:9d99b9777eb02b8943c0e72d7a7baec5c782f8fd976825c9d3fb48b3101aacc2
2021/08/19 16:36:47  info unpack layer: sha256:d010c8cf75d7eb5d2504d5ffa0d19696e8d745a457dd8d28ec6dd41d3763617e
2021/08/19 16:36:47  info unpack layer: sha256:7fac07fb303e0589b9c23e6f49d5dc1ff9d6f3c8c88cabe768b430bdb47f03a9
2021/08/19 16:36:47  info unpack layer: sha256:8e860504ff1ee5dc7953672d128ce1e4aa4d8e3716eb39fe710b849c64b20945
INFO:    Creating SIF file...
[centos@singularity-3 ~]$ singularity run lolcow_latest.sif 
 _________________________________________
< Q: How do you keep a moron in suspense? >
 -----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
[centos@singularity-3 ~]$

Pull a container from GHCR via oras and shell into it: PASSED

[centos@singularity-3 ~]$ singularity pull oras://ghcr.io/mkandes/naked-singularity:ubuntu-20.04
INFO:    Downloading oras image
[centos@singularity-3 ~]$ singularity shell naked-singularity_ubuntu-20.04.sif 
Singularity> python3 --version
Python 3.8.10
Singularity> md5sum naked-singularity_ubuntu-20.04.sif 
da4e0bd4266ebdbaa68235ef74883c23  naked-singularity_ubuntu-20.04.sif
Singularity> sha256sum naked-singularity_ubuntu-20.04.sif 
4ba73520c64bdf856d25b92e0bd8a22b52f346c258a4ac101f36bead971682a2  naked-singularity_ubuntu-20.04.sif
Singularity>

Convert a SIF to a sandbox and then modify it: PASSED

[centos@singularity-3 ~]$ hostname
singularity-3.8.1-centos-7-epel-testing.novalocal
[centos@singularity-3 ~]$ singularity --version
singularity version 3.8.1-1.el7
[centos@singularity-3 ~]$ sudo singularity build --sandbox ubuntu-18.04 ubuntu-18.04.sif 
INFO:    Starting build...
INFO:    Verifying bootstrap image ubuntu-18.04.sif
WARNING: integrity: signature not found for object group 1
WARNING: Bootstrap image could not be verified, but build will continue.
INFO:    Creating sandbox directory...
INFO:    Build complete: ubuntu-18.04
[centos@singularity-3 ~]$ sudo singularity shell --writable ubuntu-18.04
Singularity> python --version
bash: python: command not found
Singularity> apt-get install python
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python-minimal python2.7 python2.7-minimal
Suggested packages:
  python-doc python-tk python2.7-doc binfmt-support
The following NEW packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-minimal python2.7 python2.7-minimal
0 upgraded, 7 newly installed, 0 to remove and 5 not upgraded.
Need to get 3967 kB of archives.
After this operation, 16.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...
Setting up python2.7 (2.7.17-1~18.04ubuntu1.6) ...
Setting up libpython-stdlib:amd64 (2.7.15~rc1-1) ...
Setting up python (2.7.15~rc1-1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Singularity> python --version
Python 2.7.17
Singularity> exit
exit
[centos@singularity-3 ~]$ singularity exec ubuntu-18.04 python --version
Python 2.7.17
[centos@singularity-3 ~]$

Tests performed and outcome:

  1. clean install singularity: PASSED

    yum install singularity --enablerepo=epel-testing
    
  2. build, exec, run *.simg from definition file: PASSED

    sudo singularity build ubuntu.simg ubuntu.def
    singularity exec ubuntu.simg lsb_release -a
    singularity run ubuntu.simg
    
  3. build and exec *.simg from Docker Hub: PASSED

    sudo singularity build ubuntu-docker.simg docker://ubuntu
    singularity exec ubuntu-docker.simg cat /etc/os-release
    
  4. build, exec, run *.simg from Singulartiy Hub: PASSED

    sudo singularity build ubuntu-shub.simg shub://singularityhub/ubuntu
    singularity exec ubuntu-shub.simg cat /etc/os-release
    singularity run ubuntu-shub.simg
    
  5. convert from .simg to .img and modify *.img with shell --writable: PASSED

    singularity image.create --size 2048 ubuntu.img
    sudo singularity build --writable ubuntu.img ubuntu.simg
    sudo singularity shell --writable ubuntu.img
    > apt-get install -y python
    > exit
    
  6. exec and run modified *.img: PASSED

    singularity exec ubuntu.img python --version
    singularity run ubuntu.img
    

Tests performed and outcome:

  1. clean install singularity: PASSED

    yum install singularity --enablerepo=epel-testing
    
  2. build, exec, run *.simg from definition file: PASSED

    sudo singularity build ubuntu.simg ubuntu.def
    singularity exec ubuntu.simg lsb_release -a
    singularity run ubuntu.simg
    
  3. build and exec *.simg from Docker Hub: PASSED

    sudo singularity build ubuntu-docker.simg docker://ubuntu
    singularity exec ubuntu-docker.simg cat /etc/os-release
    
  4. build, exec, run *.simg from Singulartiy Hub: PASSED

    sudo singularity build ubuntu-shub.simg shub://singularityhub/ubuntu
    singularity exec ubuntu-shub.simg cat /etc/os-release
    singularity run ubuntu-shub.simg
    
  5. convert from .simg to .img and modify *.img with shell --writable: PASSED

    singularity image.create --size 2048 ubuntu.img
    sudo singularity build --writable ubuntu.img ubuntu.simg
    sudo singularity shell --writable ubuntu.img
    > apt-get install -y python
    > exit
    
  6. exec and run modified *.img: PASSED

    singularity exec ubuntu.img python --version
    singularity run ubuntu.img
    

Tests performed and outcome:

  1. clean install singularity: PASSED

    yum install singularity --enablerepo=epel-testing
    
  2. build, exec, run *.simg from definition file: PASSED

    sudo singularity build ubuntu.simg ubuntu.def
    singularity exec ubuntu.simg lsb_release -a
    singularity run ubuntu.simg
    
  3. build and exec *.simg from Docker Hub: PASSED

    sudo singularity build ubuntu-docker.simg docker://ubuntu
    singularity exec ubuntu-docker.simg cat /etc/os-release
    
  4. build, exec, run *.simg from Singulartiy Hub: PASSED

    sudo singularity build ubuntu-shub.simg shub://singularityhub/ubuntu
    singularity exec ubuntu-shub.simg cat /etc/os-release
    singularity run ubuntu-shub.simg
    
  5. convert from .simg to .img and modify *.img with shell --writable: PASSED

    singularity image.create --size 2048 ubuntu.img
    sudo singularity build --writable ubuntu.img ubuntu.simg
    sudo singularity shell --writable ubuntu.img
    > apt-get install -y python
    > exit
    
  6. exec and run modified *.img: PASSED

    singularity exec ubuntu.img python --version
    singularity run ubuntu.img
    

Tests performed and outcome:

  1. clean install singularity: PASSED yum install singularity --enablerepo=epel-testing

  2. build, exec, run *.simg from definition file: PASSED sudo singularity build ubuntu.simg ubuntu.def singularity exec ubuntu.simg lsb_release -a singularity run ubuntu.simg

  3. build and exec *.simg from Docker Hub: FAILED (known 'Kernal too old' error) sudo singularity build ubuntu-docker.simg docker://ubuntu singularity exec ubuntu-docker.simg cat /etc/os-release

  4. build, exec, run *.simg from Singulartiy Hub: PASSED sudo singularity build ubuntu-shub.simg shub://singularityhub/ubuntu singularity exec ubuntu-shub.simg cat /etc/os-release singularity run ubuntu-shub.simg

  5. convert from .simg to .img and modify *.img with shell --writable: PASSED singularity image.create --size 2048 ubuntu.img sudo singularity build --writable ubuntu.img ubuntu.simg sudo singularity shell --writable ubuntu.img > apt-get install -y python > exit

  6. exec and run modified *.img: PASSED singularity exec ubuntu.img python --version singularity run ubuntu.img

Tests passed for Fedora 28:

  • Install singularity and debootstrap
  • Cloned a definition file repo we have
  • Built our base ubuntu image as squashfs formated container ( singularity build ubuntu.simg ubuntu.def")
  • Converted this squashfs container to a writable ext3 format ("singularity build --writable ubuntu.img ubuntu.simg")
  • Shelled into new writable image and installed python ("singularity shell --writable ubuntu.img; apt-get -y install python-dev")
  • Executed python within the container, checking version ("singularity exec ubuntu.img python --version")
  • Pulled latest Docker Hub Ubuntu image into a squashfs formtted container ("singularity pull docker://ubuntu:latest")
  • Checked Ubuntu version of Docker-based image with 'exec' ("singularity exec ubuntu-latest.simg cat /etc/*release")

Tests passed for Fedora 27:

  • Install singularity and debootstrap
  • Cloned a definition file repo we have
  • Built our base ubuntu image as squashfs formated container ( singularity build ubuntu.simg ubuntu.def")
  • Converted this squashfs container to a writable ext3 format ("singularity build --writable ubuntu.img ubuntu.simg")
  • Shelled into new writable image and installed python ("singularity shell --writable ubuntu.img; apt-get -y install python-dev")
  • Executed python within the container, checking version ("singularity exec ubuntu.img python --version")
  • Pulled latest Docker Hub Ubuntu image into a squashfs formtted container ("singularity pull docker://ubuntu:latest")
  • Checked Ubuntu version of Docker-based image with 'exec' ("singularity exec ubuntu-latest.simg cat /etc/*release")

Tests passed for CentOS 7.5:

  • Install singularity and debootstrap
  • Cloned a definition file repo we have
  • Built our base ubuntu image as squashfs formated container ( singularity build ubuntu.simg ubuntu.def")
  • Converted this squashfs container to a writable ext3 format ("singularity build --writable ubuntu.img ubuntu.simg")
  • Shelled into new writable image and installed python ("singularity shell --writable ubuntu.img; apt-get -y install python-dev")
  • Executed python within the container, checking version ("singularity exec ubuntu.img python --version")
  • Pulled latest Docker Hub Ubuntu image into a squashfs formtted container ("singularity pull docker://ubuntu:latest")
  • Checked Ubuntu version of Docker-based image with 'exec' ("singularity exec ubuntu-latest.simg cat /etc/*release")

Tests passed for CentOS 6.10:

  • Install singularity and debootstrap
  • Cloned a definition file repo we have
  • Built our base ubuntu image as squashfs formated container ( singularity build ubuntu.simg ubuntu.def")
  • Converted this squashfs container to a writable ext3 format ("singularity build --writable ubuntu.img ubuntu.simg")
  • Shelled into new writable image and installed python ("singularity shell --writable ubuntu.img; apt-get -y install python-dev")
  • Executed python within the container, checking version ("singularity exec ubuntu.img python --version")
  • Pulled latest Docker Hub Ubuntu image into a squashfs formtted container ("singularity pull docker://ubuntu:latest")

Test failed, but only due too big of a difference in CentOS 6.10 and Ubuntu 18.04 kernels: - Checked Ubuntu version of Docker-based image with 'exec' ("singularity exec ubuntu-latest.simg cat /etc/*release")