Blog

Salt mit Docker kombinieren

Cristiana

Cristiana

Aktualisiert Oktober 22, 2025
2 Minuten

Sie könnten Salt zum Erstellen und Ausführen von Docker-Containern verwenden, aber das ist nicht die Art, wie ich es hier verwende. In diesem Blogpost geht es um Docker-Container, auf denen Salt Minions laufen, was nur ein Experiment ist. Der Anwendungsfall? Angenommen, Sie haben mehrere Container, auf denen eine bestimmte Middleware läuft, und diese Middleware benötigt ein Sicherheitsupdate, d.h. ein OpenSSL-Hotfix. Es ist notwendig, das Update sofort durchzuführen.

Das Dockerfile Um einen Container zu erstellen, müssen Sie die Beschreibung des Containers in einer Datei namens Dockerfile niederschreiben. Hier ist die Dockerdatei:

#-------
# Standard-Überschriftenmaterial
VON centos
MAINTAINER Keine Antwort noreply@xebia.com
# Installieren Sie Salt und fügen Sie ein master.conf-Snippet ein, das dem Minion mitteilt
# um den angegebenen Master zu kontaktieren.
RUN rpm -Uvh https://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm
RUN yum install -y salt-minion --enablerepo=epel-testing
RUN [ ! -d /etc/salt/minion.d ] && mkdir /etc/salt/minion.d
ADD ./master.conf /etc/salt/minion.d/master.conf
# Führen Sie den Salt Minion aus und trennen Sie sich nicht vom Terminal.
# Das ist wichtig, denn der Docker-Container wird beendet, wenn
# der CMD-Prozess wird beendet.
CMD /usr/bin/salt-minion
#-------

Erstellen Sie das Image Es ist an der Zeit, die Dockerdatei über Docker auszuführen. Der Befehl lautet:

$ docker build --rm=true -t salt-minion .

vorausgesetzt, Sie führen diesen Befehl in dem Verzeichnis aus, in dem sich die Dateien Dockerfile und master.conf befinden. Docker erstellt ein Image mit dem Tag 'salt-minion' und verwirft nach einem erfolgreichen Build alle Zwischen-Images.

Führen Sie einen Container aus Der Befehl lautet:

$ docker run -d salt-minion

und Docker kehrt zurück:

aab154310ba6452ba2c686d15b1e3ca5fd85124d38c7935f1200d33b3a3e7ced

Der Salt-Minion auf dem Container wird gestartet und sucht nach einem Salt-Master, mit dem er sich verbinden kann. Dieser wird durch die Konfigurationseinstellung "master" in der Datei /etc/salt/minion.d/master.conf definiert. Möglicherweise möchten Sie den Salt-Master im Modus "auto_accept" laufen lassen, damit die Minion-Schlüssel automatisch akzeptiert werden. Docker weist dem laufenden Container eine Container-ID zu. Dies ist der magische Schlüssel, den Docker als Ergebnis des Befehls run meldet. Der folgende Befehl zeigt den laufenden Container an:

$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
273a6b77a8fa salt-minion:latest /bin/sh -c /etc/rc.l vor 3 Sekunden Up 3 Sekunden distracted_lumiere

Wenden Sie den Hotfix an Das war's: Der Salt-Minion wird von Ihrem Salt-Master gesteuert. Vorausgesetzt, Sie verfügen über ein Statusmodul, das den OpenSSL-Hotfix enthält, können Sie nun ganz einfach alle Docker-Knoten aktualisieren, um den Hotfix einzubinden:

salt * state.sls openssl-hotfix

Das ist alles, was Sie wissen müssen.

Verfasst von

Cristiana

Some bio goes here

Contact

Let’s discuss how we can support your journey.