Container Camp Basics schedule (March 2023)¶
This page records the agenda of the 2023 Container Camp Basics, held March 6-8, 2023 (times are Mountain Standard Time, Arizona). The session times and instructor assignments are historical; the linked lessons remain available to work through on your own.
Day 1 - Introduction to Docker¶
Content
- Introduction to Docker and its uses in reproducible science
- Launching development environments on CodeSpaces for container testing
- Using Docker on the commandline.
Goals
- Introduction to containers & where to find them
- Command line containers with CodeSpaces (optional: run locally)
- Find and use official Docker images
Activities
| Time (MST/AZ) | Activity | Instructor | Outcome |
|---|---|---|---|
| 09:00 | Welcome | All | |
| 09:05 | Overview of Website | Michele | Code of Conduct |
| 09:10 | Why use Containers? | Carlos | What containers are used for in science |
| 09:25 | Start CodeSpace | Tyson | Using Dev Environments to create containers |
| 09:30 | Docker Commands and Execution | Carlos | Basic command line use of Docker |
| 09:55 | Break | ||
| 10:00 | Docker Commands and Execution | Carlos & Tyson | Basic command line use of Docker |
| 10:55 | Break | ||
| 11:00 | Managing Docker and Data | Michele | Volumes and Interactive Use inside containers |
| 11:55 | Break | ||
| 12:00 | Managing Docker and Data | Michele & Tyson | |
| 12:55 | Conclude for the day | All | push changes to your GitHub |
Optional Homework
- Test other Docker container images on CodeSpaces or locally
Day 2 - Building Docker Containers¶
Content
- Use GitHub to browse for public Dockerfiles
- Build Dockerfiles and push them to public registry
- Use Version Control to set up automated container builds with GitHub Actions
Goals
- Introduction to what Dockerfiles are and what you use them for
- Start thinking about how to modify them for your own applications
Activities
| Time (MST/AZ) | Activity | Instructor | Notes |
|---|---|---|---|
| 09:00 | Welcome back | All | |
| 09:05 | Discuss previous day, answer questions | ||
| 09:15 | (re)start Dev Environment | Tyson | |
| 09:20 | Finding the right container | Tyson | |
| 09:55 | Break | ||
| 10:00 | Building Docker Images | Carlos | |
| 10:55 | Break | ||
| 11:00 | Using Docker Compose | Michele | |
| 11:55 | Break | ||
| 12:00 | Integrating your Containers into CyVerse | Tyson | |
| 12:55 | Conclude |
Day 3 - Singularity, Orchestration, and Containers on the HPC¶
Content
- Introduction to Singularity
- Introduction to Kubernetes
Goals
- Being able to execute containers on the HPC
- Create a small Kubernetes cluster
Activities
| Time (MST/AZ) | Activity | Instructor | Notes |
|---|---|---|---|
| 09:00 | Welcome back | All | |
| 09:05 | Discuss previous day, answer questions | ||
| 09:15 | (re(re))start Dev Environment | ||
| 09:20 | Introduction to Singularity | ||
| 09:30 | Obtaining Singularity and the Singularity CLI | ||
| 09:55 | Break | ||
| 10:00 | Singularity Commands & Interacting with Singularity Images | ||
| 10:55 | Break | ||
| 11:00 | Singularity Images Continued* | ||
| 11:55 | Break | ||
| 12:00 | Integrating your Containers into CyVerse, questions, inquiries | ||
| 12:55 | Conclude** |
* If we still have time, we will also discuss using Singularity on the HPC.
** For additional questions and inquiries, we will make time for one-on-ones on either Thursday or Friday (flexible schedule).
Adapted from CyVerse Container Camp (last source update 2023-07-27), CC BY 4.0. Spotted a problem? Open an issue.