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:


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.