Docker ist ein unverzichtbares Tool für die einfache Installation der Apps, die Ihre Websites und Dienste ausführen können, und es ist mit docker-compose noch einfacher zu verwalten.
Einige Projekte enthalten keine Docker-Compose-Dateien, und es ist zeitaufwändig, selbst eine zu erstellen. docker-autocompose kann aus jedem laufenden Docker-Container eine funktionierende docker-compose-Datei generieren.
Einige Docker-Apps haben keine Compose-Dateien
Docker ist eine Open-Source-Plattform zum Bereitstellen von Anwendungen in gebündelten Komponenten, die als Container bezeichnet werden. Durch die Verwendung von Docker müssen Sie sich keine Gedanken über Abhängigkeiten oder Interaktionen zwischen Diensten machen, da diese normalerweise zu einem gewissen Grad vorkonfiguriert sind.
Sie können Docker verwenden, um Apps einschließlich spezialisierter Server, Linux-Distributionen oder benutzerdefinierter Images bereitzustellen. Das Ausführen von Apps mit Docker ist relativ einfach und kann sicherstellen, dass Sie immer die neueste Softwareversion haben.
Wenn Sie mit dem Konzept dockerisierter Apps nicht vertraut sind, sollten Sie unseren grundlegenden Leitfaden zu lesen warum Sie Docker anstelle einer virtuellen Maschine verwenden sollten.
Docker-Befehle sind lang und werden normalerweise als ein einziger Befehl ausgeführt, der alle relevanten Variablen enthält. Sie sind umständlich einzugeben, und obwohl Sie Ihrer .bashrc-Datei einen Alias hinzufügen können, läuft es oft auf wiederholtes Drücken hinaus Strg + R um genau den gewünschten Docker-Befehl zu finden.
Docker Compose ist ein Tool, das Sie bei containerübergreifender Interaktion und Orchestrierung unterstützt. Es hilft Ihnen so effektiv bei der Verwaltung von Docker-Containern, dass viele Benutzer die Verwendung von Docker überhaupt nicht lernen. Warum sollten Sie, wenn Sie nur eine einzelne YAML-Datei herunterladen und mit einem einfachen Zwei-Wort-Befehl aufrufen müssen?
Während viele Apps, die von Docker bereitgestellt werden können, über Compose-Dateien verfügen, sind dies nicht alle, was schnelle, saubere Docker-Installationen und -Bereitstellungen erschwert. Dies ist besonders häufig bei Apps für weniger Mainstream-Hardware wie ARM64 und ARMhf der Fall.
Wenn Sie Docker-Compose gegenüber Raw-Docker bevorzugen, können Sie sich dafür entscheiden, eine bestimmte Software nicht zu verwenden, wenn es keine praktische docker-compose.yml im GitHub-Repository des Projekts gibt.
docker-autocompose macht es einfach, automatisch eine Compose-Datei zu generieren
docker-autocompose ist eine Python-App, die eine funktionierende Compose-Datei aus jedem laufenden Docker-Container erstellen kann.
Das bedeutet, dass Sie nur zuerst den Docker-Befehl ausführen müssen, dann die generierte Ausgabe nehmen und die App mit starten müssen docker-compose in der Zukunft, oder Sie können es an eine vorhandene Compose-Datei anhängen, um alle Ihre Dienste unter zu verwalten einmal.
So installieren Sie docker-autocompose unter Linux
Da Docker-Autocompose als Python-App bereitgestellt wird, muss Python PIP auf Ihrem Linux-System installiert sein.
So installieren Sie Python PIP unter Debian oder Ubuntu:
sudo apt Installieren python3-pip
Installieren Sie PIP unter Arch Linux und seinen Derivaten mit:
sudo pacman -S python-pip
Um PIP auf CentOS und Red Hat Enterprise Linux zu installieren, führen Sie Folgendes aus:
sudo lecker Installieren python3 python3-Rad
Es sollte selbstverständlich sein, dass Sie dies auch tun müssen Docker und Docker Compose installiert haben.
Klonen Sie das GitHub-Repository für docker-autocompose und verschieben Sie es in das neue Verzeichnis:
git Klon https://github.com/Red5d/docker-autocompose.git
CD docker-autocompose
Installieren Sie nun Docker-Autocompose, indem Sie Folgendes ausführen:
sudoPython3aufstellen.pyInstallieren
docker-autocompose ist jetzt installiert.
Verwenden Sie docker-autocompose, um Compose-Dateien zu generieren
Oft bei der Suche nach wesentliche Linux-Apps, Sie werden auf ein großartiges Projekt stoßen, das Docker-Images, aber keine Compose-Datei enthält. Ein Beispiel dafür ist der hervorragende Browser-zugängliche IRC-Client, Versenden.
Erstellen Sie ein Verzeichnis, das von Dispatch verwendet werden soll:
mkdir ~/dispatch
Laden Sie den Client herunter und starten Sie ihn auf Port 8080 Ihres lokalen Computers mit:
dockerrun -p 8080:80 -v /home/david/versand:/data --restart no -d khlieng/versenden
Besuchen Sie localhost: 8080 in Ihrem Browser, um zu überprüfen, ob Dispatch funktioniert, und weisen Sie dann docker-autocompose an, den Inhalt der Compose-Datei aus dem laufenden Container zu generieren mit:
sudo autocompose.py <containername-oder-id>
In diesem Fall lautet der Containername Dispatch, und die Container-ID wird unmittelbar nach Ausführung des Docker-Befehls als Ausgabe in Ihrem Terminal angezeigt.
Alternativ können Sie Compose-Dateiinhalte erstellen, mit denen Sie alle Ihre laufenden Docker-Container starten können mit:
sudo autocompose.py $(docker ps -aq)
Es wird keine Docker Compose-Datei generiert, daher müssen Sie die Standardausgabe in Ihre Zwischenablage kopieren und dann eine neue Datei erstellen mit:
nanodocker-compose.yml
Fügen Sie den Inhalt Ihrer Zwischenablage ein, speichern Sie und beenden Sie nano mit Strg + O, Dann Strg + X.
Sie können jetzt alle Ihre Container auf einmal starten mit:
docker-compose up -d
Alternativ können Sie Docker-Autocompose mit Docker selbst ausführen, indem Sie Folgendes ausführen:
docker run --rm -v /Var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <zusätzliche-namen-oder-ids>
... was ein Befehl ist, der Sie daran erinnert, warum Sie zunächst Docker-Autocompose benötigen.
Erstellen Sie sofort funktionierende Compose-Dateien aus laufenden Docker-Containern
Docker und Docker Compose sind ein zunehmend wichtiger Teil des Linux-App-Ökosystems und bewähren sich besonders wertvoll für Self-Hosting-Sites und -Dienste auf dem allgegenwärtigen Raspberry Pi Single-Board Computer.
Wenn Sie Ihre Reise zur Schaffung Ihres eigenen Online-Ökosystems noch nicht begonnen haben, sollten Sie sich einige der fantastischen Projekte mit Webzugriff ansehen, die Sie auf dem Pi ausführen können.