Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential improvements to the virtualization/containers lecture #202

Open
9 tasks
MakisH opened this issue Nov 7, 2024 · 0 comments
Open
9 tasks

Potential improvements to the virtualization/containers lecture #202

MakisH opened this issue Nov 7, 2024 · 0 comments

Comments

@MakisH
Copy link
Contributor

MakisH commented Nov 7, 2024

Some notes from my impression from this year:

  • Reduce the motivational content, and especially the duplication between sections. I had the feeling that everyone was motivated enough, and we needed more time for details and hands-on.
  • Explain the difference between virtualization and emulation, and explain the compatibility between architectures, since this is now more relevant than in the "almost everyone runs x86" years. This raised a lot of discussion this year. We could also show a concrete demo with QEMU.
  • Discuss KVM as an alternative to VirtualBox (potentially have a demo available)
  • Discuss concrete steps for minimizing the size of the published images (e.g., by running apt clean after apt update && apt install).
  • Put more emphasis on Singularity. I had the impression that students generally knew about Docker, while Singularity is quite neat.
  • Talk about Podman equally as much as Docker (or even default to Podman, in the same way as we default to Apptainer for talking about Singularity).
  • Discuss integration of Docker with VSCode and other tools (I quickly showed this at the end of the exercise).
  • Add a comparison table between solutions.
  • For the exercise, find, test, and suggest concrete solutions for Apple Silicon. This year, we had five students affected by this. What worked in the end was VMWare Fusion with Ubuntu images build for ARM. This worked with Vagrant as well (but I am not sure if the suggested bento/ubuntu-24.04 box worked in the end).

I also found it useful to have an overview of commands on the blackboard:

# Overview

## Vagrant

vagrant init bento/ubuntu-24.04

vagrant up
vagrant provision
vagrant ssh

vagrant global-status
vagrant box list

## Docker

docker pull ubuntu:24.04
docker run -it ubuntu:24.04
docker exec -it ubuntu:24.04 /bin/bash

docker image ls
docker ps -a

## Singularity

apptainer pull docker://ubuntu:24.04

apptainer shell ubuntu_24.04.sif
./ubuntu_24.04.sif
apptainer exec ubuntu_24.04.sif /bin/bash

Any feedback by students is welcome here as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant