Hallo! Befolgen Sie die Serie über den Aufbau eines automatischen Bereitstellungssystems mit GitHub Webhook? Wie im dritten Teil erwähnt, spielt Docker eine zentrale Rolle in unserer CI/CD-Pipeline.

Dieser Beitrag richtet sich an diejenigen, die Docker noch nicht auf ihrem Server installiert haben, und bietet eine detaillierte, schrittweise Anleitung zur Installation von Docker Engine und Docker Compose auf einem Ubuntu-Server.

Upgrade to newest Docker version

1. Vorherige Version entfernen (optional)

Wenn Sie zuvor eine inoffizielle Version von Docker installiert hatten, ist es ratsam, diese zuerst gründlich zu entfernen. Führen Sie die folgenden Befehle aus, um alle bestehenden Pakete, die Konflikte verursachen könnten, zu entfernen.

sudo apt-get remove --purge docker docker-engine docker.io containerd runc docker-compose

Wenn keine wichtigen Daten vorhanden sind und Sie sauber anfangen möchten, empfehlen wir Ihnen, alle Spuren der vorherigen Docker-Installation vollständig zu entfernen.

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
  • Hinweis: Dieser Befehl löscht alle Container- und Bilddaten. Wenn die Daten wichtig sind, bitte vorher ein Backup erstellen.

2. Docker offizielle Repository setzen

Um die neueste Version von Docker stabil zu installieren, müssen wir das offizielle APT-Repository konfigurieren.

# APT-Paket aktualisieren
sudo apt-get update

# Pakete zur Konfiguration des offiziellen Docker-Repositories installieren
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# Offiziellen GPG-Schlüssel von Docker hinzufügen
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Docker-Repository zu APT hinzufügen
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker APT-Repository aktivieren
sudo apt-get update

3. Docker Engine installieren

Jetzt installieren wir Docker Engine und die zugehörigen Tools.

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Der obige Befehl installiert Docker Engine, CLI-Tools, die Container-Runtime (containerd.io) und Docker Compose in Form von Plugins.

4. Docker Installation überprüfen

Überprüfen Sie, ob die Installation erfolgreich war, indem Sie den hello-world Container ausführen. Dieser Befehl ist ein einfacher Test, um zu bestätigen, dass Docker korrekt funktioniert.

sudo docker run hello-world

Wenn die Nachricht "Hallo von Docker!" angezeigt wird, wurde Docker Engine erfolgreich installiert.

5. Docker-Befehle ohne sudo verwenden (unbedingt)

Standardmäßig müssen Sie sudo verwenden, um den Befehl docker auszuführen. In unserem automatischen Bereitstellungssystem müssen wir jedoch docker als regulärer Benutzeraccount des systemd-Dienstes ausführen, sodass wir die Berechtigung einstellen müssen, um docker ohne sudo verwenden zu können.

  1. Fügen Sie den aktuellen Benutzer zur Gruppe docker hinzu.
sudo usermod -aG docker $USER
  1. Um die Änderungen anzuwenden, müssen Sie sich unbedingt abmelden und dann erneut anmelden.

  2. Nach der erneuten Anmeldung, führen Sie den Befehl docker run hello-world erneut aus, um zu überprüfen, ob alles korrekt funktioniert.

6. Docker Compose Installation überprüfen

Da Sie das docker-compose-plugin installiert haben, ist kein separater Installationsvorgang erforderlich. Überprüfen Sie mit dem folgenden Befehl, ob docker compose erfolgreich installiert wurde.

docker compose version

Wenn eine Nachricht wie "Docker Compose version v2.x.x" angezeigt wird, war die Installation erfolgreich.

7. Fazit

Jetzt ist Ihr Server mit Docker und Docker Compose ausgestattet. Schließen Sie diesen Beitrag und gehen Sie zurück zur Hauptserie Aufbau Ihres eigenen automatischen Bereitstellungssystems mit GitHub Webhook (Teil 3), um den nächsten Schritt zu sehen. Ein spannendes Erlebnis erwartet Sie, wenn Sie Ihr Projekt mit Docker containerisieren und automatisch bereitstellen!