Dieses Tutorial führt Sie durch die Installation von Docker auf mehreren Hosts mithilfe von Ansible und der beliebten, von der Community unterstützten Ansible-Rolle geerlingguy.docker
.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie:
- Ansible auf Ihrer Steuerungsmaschine installiert haben. (Installationsanleitung)
- SSH-Zugriff auf Ihre Zielhosts konfiguriert haben.
- Einen Benutzer mit Sudo-Rechten (oder Root-Zugriff) auf den Zielhosts haben.
Schritt 1: Erstellen Sie das Ansible-Playbook
Erstellen Sie eine Datei mit dem Namen docker-playbook.yml
:
- name: Install Docker using geerlingguy.docker role
hosts: all
become: yes # Verwenden Sie Sudo, um die Berechtigungen zu erhöhen
gather_facts: yes
roles:
- geerlingguy.docker
Dieses einfache Playbook wendet die Docker-Installationsrolle auf alle angegebenen Hosts an.
Schritt 2: Definieren Sie Rollen- und Sammlung-Abhängigkeiten
Erstellen Sie eine Datei mit dem Namen requirements.yml
, um die externen Ansible-Rollen- und Sammlungsabhängigkeiten klar zu definieren:
roles:
- name: geerlingguy.docker
version: 7.4.1 # Version für Konsistenz angeben
collections:
- name: community.docker
version: ">=3.0.0"
Die Angabe von Versionen sorgt für wiederholbare, konsistente Bereitstellungen.
Schritt 3: Installieren Sie die erforderlichen Rollen und Sammlungen
Führen Sie den folgenden Befehl aus, um die in requirements.yml
angegebenen Abhängigkeiten zu installieren:
ansible-galaxy install -r requirements.yml
Dieser Befehl lädt sowohl die Rolle als auch die Sammlung herunter und installiert sie.
Schritt 4: Führen Sie das Playbook aus
Führen Sie das Playbook über die Befehlszeilenschnittstelle von Ansible aus. Sie können Ihr Inventar zur Vereinfachung inline angeben:
ansible-playbook docker-playbook.yml -i "host1,host2," -u root
Ersetzen Sie host1
und host2
durch Ihre tatsächlichen Ziel-Hostnamen oder IP-Adressen.
Hinweis:
- Das Komma am Ende des Inline-Inventars ist erforderlich.
- Die Option
-u root
legt den Benutzer fest, den Ansible verwendet, um sich mit den Hosts zu verbinden; ändern Sie dies basierend auf Ihrer SSH-Konfiguration.
Überprüfung der Docker-Installation
Nach dem Ausführen des Playbooks können Sie die Docker-Installation auf jedem Host überprüfen, indem Sie Folgendes ausführen:
ssh root@host1 docker --version
ssh root@host2 docker --version
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Docker version 26.1.3, build XXXXXXX
Fazit
Durch die Befolgung dieser strukturierten Methode nutzen Sie Ansible effizient, um Docker konsistent und zuverlässig auf mehreren Servern zu installieren, was Ihr Infrastrukturmanagement vereinfacht.