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.
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.
- Fügen Sie den aktuellen Benutzer zur Gruppe
docker
hinzu.
sudo usermod -aG docker $USER
-
Um die Änderungen anzuwenden, müssen Sie sich unbedingt abmelden und dann erneut anmelden.
-
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!
Es sind keine Kommentare vorhanden.