Übersicht
Dieser Artikel zeigt einen Prozess zur Installation von Docker mit Ansible. Wir werden ein Ansible-Playbook erstellen, das nur fünf Codezeilen enthält. Was uns ermöglicht, ein so kleines Playbook zu haben, ist das offizielle Docker-Installationsskript, das den Docker-Installationsprozess für uns automatisiert. Das Skript funktioniert auf vielen wichtigen Linux-Distributionen wie – Debian, Ubuntu, Fedora, RedHat, CentOS, OpenSuse und Raspbian. Das Skript, das wir verwenden werden, kann unter docker install script angesehen und heruntergeladen werden . Für dieses Beispiel installieren wir Docker mit Ansible auf einer virtuellen Debian 11-Maschine.
Ihr Skript installiert Docker Compose zwar nicht, aber es ist trotzdem ein tolles Skript.
Dieser Prozess kann auf jeder Art von Linux-Maschine angewendet werden – Bare Metal, VM oder Cloud-Server.
Noch eine Randbemerkung – Wir haben auch einen Prozess behandelt, wie Docker-Container mit Ansible bereitgestellt werden – Der Prozess kann in diesem Beitrag betrachtet werden, und wie Nextcloud und WordPress auf Docker mit Ansible bereitgestellt werden.
Voraussetzungen
Um Docker erfolgreich mit Ansible zu installieren, sind die folgenden Voraussetzungen erforderlich:
- Aktivierter SSH-Zugriff auf der Hostgruppe (Linux-Servermaschinen/VMs)
- Ein Benutzer mit sudo-Berechtigungen (optional – um das Root-Konto zu verwenden)
- Installiertes Curl-Tool auf Linux-Servern
Was ist Ansible?
Ansible ist ein Open-Source-Softwarebereitstellungs-, Konfigurationsverwaltungs- und Anwendungsbereitstellungstool, das eine Infrastruktur als Code ermöglicht. Es läuft auf vielen Unix-ähnlichen Systemen und kann sowohl Unix-ähnliche Systeme als auch Microsoft Windows konfigurieren.
Erstellen Sie die Hostdatei mit Inventar und Variablen
Zuerst müssen wir eine Hosts-Datei mit den Remote-Knoten erstellen und Login-Variablen setzen:
sudo nano /etc/ansible/hosts
Fügen Sie in der Textdatei die Hostparameter hinzu, damit sie ungefähr so aussehen:
[docker] 192.168.122.87 [docker:vars] ansible_user=sudouser1 ansible_password=user1password ansible_become_password=user1password
Speichern Sie die Datei und beenden Sie sie.
Hosts-Dateiaufschlüsselung:
[docker]
192.168.122.87 – IP-Adresse des Remote-Hosts (VM/Server) unter der Hostgruppe mit dem Namen docker
[docker:vars]
ansible_user – Benutzername des Benutzers mit sudo-Berechtigungen (Sie können auch den Root-Benutzer festlegen)
ansible_password – sudo-Benutzerkennwort
ansible_become_password – sudo-Benutzerkennwort (für sudo-Berechtigungen beim Ausführen von Befehlen, für deren Ausführung sudo-Zugriff erforderlich ist)
Erstellen Sie das YAML-Playbook
Im nächsten Schritt erstellen wir das .yaml-Playbook, in dem wir die Konfiguration hinzufügen müssen. Sie können Playbook-Dateien überall erstellen, wo Sie möchten:
nano docker-install.yml
Sobald sich der Texteditor öffnet, kopieren und fügen Sie die Konfiguration von unten ein (achten Sie auf die Einrückung) und speichern Sie die Datei.
--- - hosts: docker tasks: - name: Install Docker ansible.builtin.shell: cd ~ && curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh
Playbook-Aufschlüsselung:
Hosts:Docker – Es wurde angegeben, dass dieses Buch nur auf unserer Docker-Hostgruppe ausgeführt und angewendet wird.
Aufgaben: – Angabe, dass eine Aufgabe auszuführen ist
Name: Name der Aufgabe, die wir ausführen
ansible.builtin.sheel: – Ansible-Shell-Modul, mit dem wir Bash-Shell-Befehle auf unseren Remote-Linux-Servern ausführen können
Der Shell-Befehl, den wir in unserem Ansible-Playbook ausgeführt haben:
„cd ~ &&curl -fsSL https://get.docker.com -o get-docker.sh &&sudo sh get-docker.sh“
Der erwähnte Shell-Befehl macht Folgendes:Er navigiert zuerst zum Home-Verzeichnis des Benutzers, lädt das Docker-Installationsskript in das Home-Verzeichnis herunter und führt dasselbe Installationsskript aus.
Führen Sie das Playbook aus
Wenn wir unsere Ressourcen, Maschinen und die Playbook-Datei bereit haben, können wir das Playbook ausführen, um den Docker-Installationsprozess zu initialisieren. Führen Sie Folgendes aus, um das Playbook nur für die bestimmte Hostgruppe auszuführen:
ansible-playbook docker-install.yml -l docker
Sobald Sie das Playbook gestartet haben, dauert es ungefähr 10 Minuten, bis es fertig ist (vielleicht etwas länger, es hängt von zahlreichen Faktoren ab).
Wenn Ansible die Ausführung des Playbooks beendet und Sie einen erfolgreichen Bericht wie im obigen Bild erhalten, können wir überprüfen, ob Docker erfolgreich installiert wurde. Docker sollte sofort laufen und wir können es mit dem Befehl überprüfen:
sudo systemctl status docker.service sudo docker ps
Zusammenfassung
Um den Artikel zusammenzufassen – wir haben die Schritte zum Installieren von Docker mit Ansible ausgeführt. Hosts-Datei erstellt, in der wir unseren Remote-Knoten mit Anmeldevariablen für die SSH-Verbindung hinzugefügt, ein .yaml-Playbook geschrieben und ausgeführt haben, das das offizielle automatische Docker-Installationsskript herunterlädt und dasselbe Skript ausführt, das Docker automatisch installiert. Dank dieses Skripts besteht unser .yaml-Playbook nur aus fünf Konfigurationszeilen.
Da die Docker-Installation mit Ansible möglich ist, können auch Docker-Container bereitgestellt werden. Bei Interesse können Sie sich den Prozess in diesem Beitrag ansehen.
Vielen Dank für Ihre Zeit…