So fügen Sie einem Alpine-Image einen Ansible-Dienst hinzu

So fügen Sie einem Alpine-Image einen Ansible-Dienst hinzu

Verwenden Sie apk add ansible, um den Ansible-Dienst zum Alpine-Image hinzuzufügen.

Schritte hinzufügen

Die Verwendung von Ansible in Alpine erfordert die folgenden Schritte

Docker-Datei

Fügen Sie die obige Anweisung in Dockerfile hinzu:

#apk für die Installation aktualisieren
APK-Update ausführen
#installieren Sie Ansible und OpenSSH
Führen Sie apk aus und fügen Sie ansible openssh hinzu
#init Ansible-Hosts-Datei
FÜHREN SIE Mkdir -p /etc/ansible aus
RUN echo "localhost" >/etc/ansible/hosts
#init rsa ssh-Schlüsselpaar
Führen Sie den Befehl ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa aus.
#Cache-Dateien löschen 
RUN rm -rf /var/cache/apk/*

Verwenden von Mirror

Ziehen Sie das Bild

Über 103M

[root@occluster ~]# Docker-Pull liumiaocn/ansible
Standard-Tag verwenden: latest
Es wird versucht, das Repository docker.io/liumiaocn/ansible abzurufen ... 
aktuell: Abrufen von docker.io/liumiaocn/ansible
ff3a5c916c92: Existiert bereits 
42a81541f983: Ziehen abgeschlossen 
86602ac17bcb: Ziehen abgeschlossen 
73cb14e49a3f: Ziehen abgeschlossen 
bdfcad59d746: Ziehen abgeschlossen 
455ffeaa5bf1: Ziehen abgeschlossen 
dff32643cfa5: Pull abgeschlossen 
Zusammenfassung: sha256:46284f3d3b9e3880f9b65fa6b1fb225b19bc88222badf74aa85936aabc24090f
Status: Neueres Image für docker.io/liumiaocn/ansible:latest heruntergeladen
[root@occluster ~]# 
[root@occluster ~]# Docker-Bilder |grep ansible
docker.io/liumiaocn/ansible latest 8a5cfdf8243f Vor weniger als einer Sekunde 103 MB
[root@occluster ~]#

verwenden

Bestätigen Sie die Version

[root@occluster ~]# docker run -it --name ansible liumiaocn/ansible sh
/ # ansible --version
ansible 2.4.1.0
 Konfigurationsdatei = Keine
 konfigurierter Modulsuchpfad = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
 Speicherort des Ansible-Python-Moduls = /usr/lib/python2.7/site-packages/ansible
 Speicherort der ausführbaren Datei = /usr/bin/ansible
 Python-Version = 2.7.14 (Standard, 14. Dezember 2017, 15:51:29) [GCC 6.4.0]
/ #

Um mit dem Host (192.168.163.172) zu kommunizieren, richten Sie im Voraus den SSH-Kanal ein und verwenden Sie ssh-copy-id

/#ssh-Kopie-ID 192.168.163.172
/usr/bin/ssh-copy-id: INFO: Quelle des/der zu installierenden Schlüssel: „/root/.ssh/id_rsa.pub“
Die Authentizität des Hosts „192.168.163.172 (192.168.163.172)“ kann nicht festgestellt werden.
Der ECDSA-Schlüsselfingerabdruck ist SHA256:uh84Xw56LhiCXb1b0uFbX/CoFhkqHGZjtmLwl3qkTOY.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? ja
/usr/bin/ssh-copy-id: INFO: Versuch, sich mit den neuen Schlüsseln anzumelden, um alle bereits installierten herauszufiltern
Ausdruck: Warnung: '^FEHLER: ': '^' wird als erstes Zeichen verwendet
eines einfachen regulären Ausdrucks ist nicht portierbar; er wird ignoriert
/usr/bin/ssh-copy-id: INFO: 1 Schlüssel muss noch installiert werden -- wenn Sie jetzt dazu aufgefordert werden, installieren Sie die neuen Schlüssel
Passwort von [email protected]: 
Anzahl hinzugefügter Schlüssel: 1
Versuchen Sie nun, sich mit „ssh '192.168.163.172'“ beim Computer anzumelden.
und überprüfen Sie, ob nur die gewünschten Schlüssel hinzugefügt wurden.
/ #

SSH-Zugriffsbestätigung

/#ssh 192.168.163.172 Hostname
Okklumpen
/ #

Ansible-Aktionsbestätigung

/ # echo "192.168.163.172" >>/etc/ansible/hosts
/ # ansible 192.168.163.172 -m ping
192.168.163.172 | ERFOLGREICH => {
  "geändert": falsch, 
  "fehlgeschlagen": falsch, 
  "ping": "pong"
}
/ #

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Telnet wird im Alpine-Image zu busybox-extras verschoben
  • Implementierung eines Tomcat-Images, das mit Dockerfile basierend auf Alpine erstellt wurde
  • Implementierung eines Crawler-Scrapy-Image, das von Dockerfile basierend auf Alpine erstellt wurde
  • So erstellen Sie ein php-nginx-alpine-Image von Grund auf in Docker
  • So stellen Sie Tomcat stapelweise mit Ansible bereit
  • Beispielcode zur Installation von Ansible unter Centos
  • Python Ansible-Dienst und Skripterstellung
  • Ansible als Methodenbeispiel einer Python-Modulbibliothek
  • Detailliertes Tutorial zur Verwendung des Linux-Tools für automatisierten Betrieb und Wartung Ansible
  • Das Cluster-Betriebs- und Wartungsautomatisierungstool Ansible verwendet Playbook, um den Zabbix-Client zu installieren

<<:  Zusammenfassung häufiger Probleme beim Herunterladen und Installieren von MySQL 5.7 unter Win7 64-Bit

>>:  JS implementiert ein zufälliges Namensaufrufsystem

Artikel empfehlen

So stellen Sie Oracle mit Docker auf dem Mac bereit

So stellen Sie Oracle mit Docker auf dem Mac bere...

js-Speicherleckszenarien, wie man sie im Detail überwacht und analysiert

Inhaltsverzeichnis Vorwort Welche Situationen kön...

Detailliertes Tutorial zum Ersetzen von mysql8.0.17 in Windows 10

In diesem Artikel werden die spezifischen Schritt...

Auszeichnungssprache - CSS-Layout

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Drei Möglichkeiten zur Implementierung virtueller Hosts unter Linux7

1. Gleiche IP-Adresse, unterschiedliche Portnumme...

Die Komponente vue-cropper realisiert das Zuschneiden und Hochladen von Bildern

In diesem Artikel wird der spezifische Code der V...