A. Background🔗

  1. What is Docker?
  2. Docker vs. Singularity vs. Podman
  3. Where containers can help you
  4. Examples of when to use a container

B. How to build a container🔗

  1. Building from a Dockerfile with Podman

C. How to interact with a container🔗

  1. Running a container with Podman
  2. Executing commands in a container with Podman

D. Gotchas🔗

  1. A note about performance
  2. Competing for --userns: Multi-node allocations
  3. Competing for --userns: Serially scheduled nodes
  4. Memory issues with large container images
  5. Incompatible architecture

E. Troubleshooting🔗

  1. Podman in a bad state
  2. Seccomp Restrictions

F. Using Singularity🔗

  1. Pulling from a registry with Singularity
  2. Building from a registry with Singularity
  3. Re-building with singularity build...
  4. Limitations in working with Dockerfiles in Singularity
  5. How to execute a container
  6. How to shell into a container
  7. How to run a container
  8. How to run a container in batch
  9. How to change the filesystems a container sees
  10. How to change a container's runscript

G. Using Containers in CI Pipelines🔗

  1. Build
  2. Container Registry
  3. Working with the image
  4. Pulling the image
  5. Using the Image in Another CI Pipeline