Talk:SW:Singularity
Contents
j-perdue random links for 8/10/2018
Placeholder
To be added to SW:Singlularity:Examples or something.... just a placeholder for now to dump all my URLs at home for access at work:
https://github.com/singularityware/singularity/issues/1076
https://github.com/singularityware/singularity/issues/1165
http://singularity.lbl.gov/quickstart#build-images-from-scratch
https://hub.docker.com/_/fedora/
https://github.com/NIH-HPC/singularity-examples/blob/master/torch/Singularity.torch
history
- random notes from .bash_history on hprclab2
[j-perdue@hprclab2 ~]$ history | grep docker 460 git clone https://github.com/fedora-cloud/docker-brew-fedora.git 466 less prep-docker-brew-branch.sh 468 ./prep-docker-brew-branch.sh 28 470 sudo docker pull fedora:28 472 sudo docker run --rm -ti fedora:28 bash 484 sudo docker run -ti fedora:28 bash 494 sudo docker run -ti fedora:28 bash 495 man docker 496 man docker-run 497 sudo docker build --writable Fedora28.img fedora:28 515 sudo singularity build --writable FedoraLatest.img docker://fedora:latest 516 sudo singularity build --writable Fedora28.img docker://fedora:28 523 # sudo singularity build --writable --size Fedora28.img docker://fedora:28 541 history | grep docker [j-perdue@hprclab2 ~]$ history | grep singularit 510 sudo singularity build --writable Fedora28.img fedora:28 511 sudo singularity build --writable Fedora28.img fedora:27 512 sudo singularity build --writable Fedora28.img XXX sudo singularity shell --writable Fedora28-HPRCLAB.img
nearing in on objective
The objective in this case is a Fedora28-HPRCLAB.img file:
- that we can provide to users, a Singularity .img file (self-contained), for them to update as needed (as root on their own workstations) that also runs on our clusters
- is already populated with HPRCLAB RPMs
- has plenty of disk space for the user to add files (as non-root) while on the cluster
Latest go around looks like this:
1) create a (--writeable) Singularity sandbox from docker://fedora:28 (called mysandbox below... a directory) 2) run 'sudo singularity shell" on sandbox to populate (JKP: need to check if sudo is necessary here) 3) populate the sandbox with all the RPMs (probably requires sudo above) and users (again sudo) 4) once you are happy with that, time to make an .img 5) singularity image.create myimage # create .img file 6) singularity image.expand -s 20480 # expand to 20GB (works because there is no real file system yet) 7) sudo tar -cvf - -C mysandbox/ . | sudo singularity image.import 10g.img # see the last/tar example in 'singularity image.import --help'