In der Informatik-Infrastruktur haben wir eine Docker-basierte Umgebung, die Ihr vom ersten Semester an benutzt, um dort in einer isolierten Umgebung Web-Anwendungen zu entwickeln (docker).
Im dritten Semester untersuchen wir in dem Modul Vernetzte Systeme mit welchen Techniken und Werkzeugen skalierbare, redundante und separierte Systeme aufgebaut werden. Das wird üblicherweise in virtuellen Maschinen und Containern auf Servern in Rechenzentren - in der Cloud - durchgeführt.
Hier wollen wir Euch zeigen, wie Ihr auf Eurem Laptop eine kleine Umgebung mit docker aufbauen könnt, die derjenigen in der Infrastruktur ähnelt und mit der Ihr Vernetzung und Verteilung üben könnt und die Ihr mit in Euer Berufsleben nehmen könnt.
Dazu müsst Ihr die Umgebung so aufbauen, wie es unter setup.html, wezterm.html, hopper.html und virtuelle-umgebung.html beschrieben ist.
Die Grundvoraussetzung ist also, dass Ihr mit ssh ubuntu
passwortlos in der Bash in wezterm in die VM kommt. Zusätzlich solltet
Ihr jetzt auch mit VSCodium mit einem kleinen Script direkt remote in
die VM kommen.
Zu Beginn solltet Ihr dafür sorgen, dass apache und mariadb nicht mehr laufen und deaktiviert sind. Wir verlegen in diesem Semester beide Dienste in je einen Docker-Container.
sudo systemctl status apache2
sudo systemctl stop apache2
sudo systemctl disable apache2
sudo systemctl status apache2
Die gleichen Schritte - Prüfen, Stoppen, Deaktivieren, Prüfen - führt
Ihr mit mariadb aus. Ihr könnt beide auch aus dem System
entfernen, das muss aber nicht unbedingt sein. Gegebenenfalls möchtet
Ihr ja vielleicht sogar Leistungsvergleiche zwischen Host, VM und
Container durchführen.
Docker lässt sich direkt mit apt installieren, allerdings
ist das dann, wie üblich, nicht immer die aktuellste Version. Da Docker
ein so zentrales Element bei uns ist, ist es sinnvoll, Docker als
externe Abhängigkeit einzutragen. Auch das dürftet Ihr schon kennen:
Zuerst bringt Ihr das System auf den Stand, installiert die
für die weitere Installation notwendigen Pakete, holt Euch den
gpg-Schlüssel und installiert ihn im keyrings-Verzeichnis,
fügt das offizielle Docker-Repository zu den möglichen apt-Sources
hinzu, führt noch einmal ein apt update aus, damit
die Pakete des Repositories beachtet werden und installiert
schließlich die Software, die Ihr benötigt. Solltet Ihr vorher
bereits Docker installiert haben, müsst Ihr es dringend vorab
entfernen.
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release &&echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker ${USER}
newgrp docker
docker run hello-world
docker run -it ubuntu bash