We will be presenting our tutorial at SC21 in-person November 15 2021, 8am - 5pm CST. Check out the conference website, program, and our tutorial on the schedule for more information.
Materials will be added here soon.
Since this tutorial will be presented in-person, conference materials uploaded here may differ from previous virtual versions.
-
Introduction to Containers by Jeremy Fischer, Indiana University
- What is Docker?
- DockerHub
- What is Singularity?
- Singularity Image hosting (goodbye SingularityHub)
- Differences / relationship to each other
-
Gateways Tie-in by Suresh Marru, Indiana University
- Overview of components in a Gateway lifecycle
- Big picture in a Gateways context
-
Environment Introduction by Eric Coulter, Indiana University
- Distributed login credentials for tutorial resources (not available outside of conference attendance)
- Overview of container development environment
- See Exercise 1 Part A - Overview and Login
-
Simple (Docker) Container Creation by Sanjana Sudarshan, Indiana University
- Build via Dockerfile
- Exploring Dockerfile structure/conventions
- Container examples
-
Exercise 1 Part B - Docker Build by Stephen Bird, Indiana University
- Build simple Docker container
-
Singularity Overview by Eric Coulter, Indiana University
- Definition Files
- Creating Singularity containers (from scratch)
- Singularity user environment
-
Exercise 1 Part C and D - Singularity by Eric Coulter, Indiana University
-
Best Practices & Advanced Topics by Peter Vaillancourt, Cornell University
- Docker To Singularity Conversion (quick overview)
- Lifecycle of Containers
- Development vs. Production
- Reducing container sizes
- Data management
- Reproducibility
- Security
- Container Orchestration
-
Open Q&A by Jeremy Fischer, Indiana University
- Catchup and unresolved questions
-
Containers for Gateways with Exercises by Suresh Marru, Indiana University
- Intro to Gateways
- Sign in to a gateway and run a pre-packaged containerized application with pre-provided inputs
- Execute applications with user provided input files and plot outputs
- Add a Containerized application to the Gateway
- Goals to Cover:
- What is a Gateway for?
- What features do Gateways add when using containers?
- How can Gateways now enable the community with these containers?
- Run/provide your app via a gateway!
-
- More Tutorials/Docs for Getting Started with Containers
- More Examples of Containers
- Using R in Containers
- Containers with GPUs