# Docker und Docker-Compose installieren #### Einleitung Mit Docker kannst du Anwendungen Containerisieren. Dies bedeutet, dass du auf einem Server auf Anwendungsebene Prozesse voneinander trennen kannst. So kannst du steuern, wer mit wem kommunizieren darf oder ob diese überhaupt von außen erreichbar sein dürfen. So kannst du z.B. mehrere Web-Server auf einem Server installieren. #### Installation von Docker Als Erstes installieren wir Docker. Dies brauchen wir, um erstmal Container zu starten. Im ersten Schritt aktualisieren wir die Paketquellen und installieren notwendige Pakete ```shell sudo apt-get update && \ sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release -y ``` Im zweiten Schritt fügen wir den offiziellen Docker GPG Key hinzu. ```shell curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` Im dritten Schritt setzen wir das benötigte Repository auf die **Stable** Version. ```shell echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` Im letzten Schritt aktualisieren wir wieder die Paketquellen und installieren die Docker Pakete. ```shell sudo apt-get update && \ sudo apt-get install docker-ce docker-ce-cli containerd.io ``` Jetzt können wir überprüfen ob die Docker Installation erfolgreich war ```shell sudo docker -v ``` #### Installation von Docker-Compose Jetzt installieren wir Docker-Compose. Mit Docker-Compose können wir vorab Konfigurationsdateien für Docker Container erstellen, aus denen wir dann starten. Wir können dann auch ganze Applikationen zu einem Stack zusammenfassen die quasi als eine Einheit gestartet und gestoppt werden. Im ersten Schritt laden wir das Skript herunter und verschieben es in das Docker Verzeichnis. ```shell sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` Als Nächstes setzen wir die Berechtigung, um die Befehle ausführen zu können ```shell sudo chmod +x /usr/local/bin/docker-compose ```

Falls du dann keine docker-compose Befehle absetzen kannst, führe den unten stehenden Code aus

```shell sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose ``` #### Schnellinstallation Falls wir **Docker** und **Docker-Compose** schnell installieren möchten, können wir den folgenden Befehl eingeben. Dann wird Docker komplett einmal installiert. ```bash apt update && apt upgrade -y && apt install sudo -y apt-get install ca-certificates curl gnupg -y sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y ```