====== Docker Installation unter Ubuntu ======
**Hinzufügen Repository**
Es werden vier grundlegende Pakete auf dem System installiert.
Das dient der Vorbereitung auf die Installation von Drittanbieter-Software (z. B. Docker und PostgreSQL).
Um das System vor der Installation manipulierter Software aus potenziell schädlichen Quellen zu schützen, muss der offizielle GPG-Sicherheitsschlüssel von Docker heruntergeladen werden.
{{:docker_1.png|}}
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
**Docker Installation**
Paketindex aktualisieren und die Docker-Komponenten installieren.
sudo apt update
sudo apt upgrade
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose
**Versions-Check**
docker --version
**Docker Befehle**
Standardbefehle, um den Docker-Dienst zu verwalten und sicherzustellen, dass er nach jedem Systemneustart automatisch geladen wird.
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl restart docker
====== PostgreSQL Docker erstellen ======
Dieser Befehl startet einen PostgreSQL 17 Container, setzt die definierten Zugangsdaten und nutzt ein Docker Volume zur permanenten Speicherung der Daten.
sudo docker run --name CONTAINER NAME \
-e POSTGRES_PASSWORD=PASSWORD \
-e POSTGRES_USER=USER \
-e POSTGRES_DB=DATABASE \
-p 5432:5432 \
-v postgres-data:/var/lib/postgresql/data \
-d postgres:17.9
**Docker aktualisieren**
sudo docker update --restart unless-stopped CONTAINER NAME
**Konfigurationsdatei aus Container kopieren**
sudo docker cp CONTAINER NAME:/var/lib/postgresql/data/postgresql.conf ./postgresql.conf
**Konfigurationsdatei in Container kopieren**
sudo docker cp ./postgresql.conf CONTAINER NAME:/var/lib/postgresql/data/postgresql.conf