-
Notifications
You must be signed in to change notification settings - Fork 10
Instructions
rsdmse edited this page Jul 4, 2020
·
6 revisions
- rivanna-docker write access on GitHub
- uvarc organization on Docker Hub
- VM for building Docker images
The following has been set up on the VM. If you are using your own machine, please install:
docker
-
docker-pushrm
- add-on to pushREADME.md
https://github.com/christian-korneck/docker-pushrm git
- Clone this repository
- Build and test
- Prepare a
Dockerfile
(see Tips)-
Please provide the following labels:
LABEL maintainer=<id>@virginia.edu LABEL homepage=https://... LABEL description=... LABEL moduleclass=... LABEL gpu=true # Optional (default: false)
The last four are needed for automated EasyBuild installation via
container2module
in apps-tools.
-
- Build with explicit tag (do not use
latest
):docker build -t uvarc/<app>:<tag> .
Use the app version (and suffix if needed) as the tag - Test locally:
docker run --rm -it uvarc/<app>:<tag>
- Convert to Singularity to test on Rivanna:
singularity build <app>-test.sif docker-daemon://uvarc/<app>:<tag>` scp <app>-test.sif <id>@rivanna.hpc.virginia.edu:
- Prepare a
- Write
README.md
for the app - Deploy
- Login to Docker Hub:
docker login
- Push image to Docker Hub:
docker push uvarc/<app>:<tag>
- Push
README.md
to Docker Hub (in subdirectory):docker pushrm uvarc/<app>
- Push to GitHub:
git add . && git commit -m "your message" && git push
- Remember to logout:
docker logout
- Login to Docker Hub:
- Run on Rivanna
module load singularity
singularity pull docker://uvarc/<app>:<tag>
- To run the default command specified in
ENTRYPOINT
:
./<app>_<tag>.sif
Otherwise:
singularity exec <app>_<tag>.sif <command>
or
singularity shell <app>_<tag>.sif