Docker ist eine Anwendungsumgebung, die man als eine Art virtuelle Maschine ansehen kann. Anwendungen, welche in Docker Containern ausgeführt werden, werden separiert vom eigentlichen Betriebssystem betrieben. Wird also ein Dienst angegriffen und gekappert, wir nur dieser Dienst kompromittiert. Zudem ist ein einfaches Erstellen von Container Images möglich, was eine vollkonfigurierte Anwendung mit wenigen Klicks schnell wieder einsatzbereit macht.
Installation
Zur Installation halten wir uns einfach an die Anleitung von https://docs.docker.com/engine/install/debian/#install-using-the-repository
Also wird zuerst folgender Befehl ausgeführt:
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Damit wird apt-get vorbereitet um Daten über HTTPS abfragen zu können. Anschließend wird der GPG Key hinzugefügt:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Anschließend kann noch geprüft werden, ob der Schlüssel korrekt angenommen wurde. Dafür folgenden Befehl ausführen:
sudo apt-key fingerprint 0EBFCD88
Die Ausgabe sollte folgendermaßen aussehen:
Nun wird die Repository hinzugefügt. Achtet darauf die richtige Architektur zu wählen (arch=armhf für 32-Bit OS und arch=arm64 für 64-Bit OS)
sudo add-apt-repository "deb [arch=armhf/arm64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Und nun zur endgültigen Installation muss das aktuelle Docker Paket aus der Repository installiert werden.
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose
Und die Installation ist fertig. Mit sudo docker run hello-world könnte man jetzt noch die Funktion von Docker prüfen.
Wichtige Docker Befehle
Alle Docker Befehle müssen mit sudo oder als root ausgeführt werden. Anführungszeichen nicht mit schreiben.
docker run „Imagename“
Führt ein Image ohne weitere Argumente aus. Wenn das Image lokal nicht auffindbar ist, wird das Image auf hub.docker.com gesucht und heruntergelanden.
docker image prune
Alle nicht verwendeten Images werden entfernt.
docker container prune
Alle nicht verwendeten Container werden entfernt.
docker commit „ContainerID/Name“ „ImageRepositoryName[:Tag]“
Erstellt von einem Container mit der Bezeichnung ContainerID/Name ein Image von dem momentanen Zustand des Containers mit der Bezeichnung ImageRepositoryName und wenn gewünscht einem möglichen Tag (bspw. latest-release)
docker image save -o „Speicherpfad.tar“ „Imagename“ [weitere Imagename mit Leertaste getrennt]
Speichert ausgewählte Images aus Docker in eine TAR-File unter dem angegeben Speicherpfad.
docker image load -i „Speicherpfad.tar“
Lädt die Images aus der angegebenen TAR-File in Docker rein.
docker image ls
Zeigt alle in Docker gespeicherten Images an.
docker image rm „Imagename“
Entfernt das benannte Image.
docker container ls
Zeigt alle in Docker gespeicherten Container an.
docker container rm „Containername“
Entfernt den benannten Container.
docker volume inspect „Volumename“
Ein Volume (Speicher) innerhalb von Docker prüfen und ggf. auch den Speicherort der persistenten Daten feststellen.
docker exec -it „Containername“ bash
Verbindet sich mit der Bash des Containers, um direkt mit der Containerumgebung interagieren zu können.
Pingback: TeamSpeak 3 Server auf Raspberry Pi über Docker installieren | LierschIT
Pingback: Watchtower - Automatisch Docker Container aktualisieren | LierschIT
Pingback: Grocy - Ein ERP-System für Vorräte | LierschIT
Pingback: Nginx Proxy Manager installieren und verwenden | LierschIT