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

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.11

Die Installations- und Konfigurationsmethoden von...

7 coole dynamische Website-Designs zur Inspiration

Im Bereich Design gibt es jedes Jahr unterschiedl...

Lösen Sie das MySQL 5.7.9 Version sql_mode=only_full_group_by Problem

MySQL 5.7.9 Version sql_mode=only_full_group_by P...

MySQL versteht kurz, wie "order by" funktioniert

Zum Sortieren ist „order by“ ein Schlüsselwort, d...

Grundprinzipien des skalierbaren MySQL-Designs

Inhaltsverzeichnis Vorwort 1. Was ist Skalierbark...

Ubuntu-Terminal, mehrere Fenster, geteilter Bildschirm, Terminator

1. Installation Das größte Feature von Terminator...

Standard-CSS-Stil der XHTML-Sprache

html,Adresse, Blockzitat, Körper, dd, div, dl,dt,...

Fehler bei der Eingabe chinesischer Zeichen im Flex-Programm Firefox

In niedrigeren Versionen von Firefox können keine ...

Tutorial zum Ändern des Root-Passworts in MySQL 5.7

Versionsupdate, das Passwortfeld im Originalbenut...

So installieren Sie die PHP7 Redis-Erweiterung auf CentOS7

Einführung Im vorherigen Artikel haben wir Redis ...

Mehrere Methoden zum Bereitstellen mehrerer Front-End-Projekte mit nginx

Ich habe 3 Methoden zusammengefasst, um mehrere F...