Dies ist eine einfache Möglichkeit, die automatisierte Anwendungsbereitstellung mit einem Frontend, einer Datenbank und einigen Passwörtern und Zugriffsschlüssel für ein gutes Maß einzurichten. Jedes Mal, wenn Sie Docker-Compose aus einem Verzeichnis ausführen, das einen Docker-Compos enthält.YML Es wird in der Datei durchgeführt und bereitet Ihre Anwendung gemäß Angabe bereit.
Um Ihnen dabei zu helfen, Ihren eigenen Docker-Compose zu schreiben.YML hier sind 5 einfache und hoffentlich hilfsbereite Yaml -Snippets, die Sie mischen und anpassen können.
Wahrscheinlich ist die häufigste Anwendung, die als Docker -Container bereitgestellt werden muss, nginx. Nginx kann als Reverse -Proxy -Server und als SSL -Terminierungspunkt für Ihre Webanwendungen dienen. Verschiedene Content -Management -Systeme wie Ghost und WordPress können hinter einem einzelnen Nginx Reverse -Proxy -Server gehostet werden. Daher ist es sinnvoll, jederzeit einen Nginx -Server -Snippet zur Hand zu haben. Das erste, was Sie brauchen würden, ist eine Nginx -Konfigurationsdatei. Wenn Sie keine erstellen möchten, ist der Standard -HTTP -Server das, was Sie erhalten.
Zum Beispiel würde ich einen Ordner nginx-Konfiguration in meinem Home-Ordner erstellen. Die Konfigurationsdatei Nginx.Conf ist in diesem Ordner zusammen mit anderen Dateienverzeichnissen vorhanden, die Nginx AT /etc /nginx erwarten würde. Dies beinhaltet SSL -Zertifikate und -tasten sowie Hostnamen für die Backend -Server, an denen der Datenverkehr weitergeleitet werden muss.
Dieser Ordner kann dann in Nginx Container AT /etc /nginx montiert werden (mit einer schreibgeschützten Berechtigung, wenn Sie zusätzliche Vorsichtsmaßnahmen bevorzugen), und Sie können den Server als Container ausführen. Sie können ihn jedoch lokal aus Ihrem Home-Verzeichnis aus konfigurieren, ohne protokollieren zu müssen in den Behälter.
Dies ist ein Beispiel:
Version: '3'Ghost Blog
Ghost ist ein CMS, das hauptsächlich im Knoten geschrieben wurde.JS und ist simpel, schnell und elegant im Design. Es stützt sich darauf, dass Nginx den Verkehr an ihn weiterleitet, und verwendet Mariadb oder manchmal SQLite, um Daten zu speichern. Sie können ein schnelles und schmutziges Docker -Bild für Ghost mit einem einfachen Snippet bereitstellen, wie unten gezeigt:
Version: '3'Dies schafft ein neues Volumen und montiert ihn im Container, um den Inhalt der Website beharrlich zu speichern. Sie können den vorherigen Nginx Reverse Proxy -Service zu dieser Komponierungsdatei hinzufügen und in Minuten von Minuten einen Produktionsghost -Blog in Betrieb genommen werden, sofern Sie NGINX so konfiguriert haben Container.
Mariadb
Mariadb ist eine nützliche Software, die nicht sofort auf Ihrem Server verfügbar ist. Datenbanken erstellen jedoch viele Protokolle. Die tatsächlichen Daten werden in der Regel überall verteilt und das Einrichten von Datenbankservern und/oder Clients wird nie reibungslos verläuft. Die sorgfältig gestaltete Docker-Compose-Datei kann einige der Probleme mindern, indem versucht, alle relevanten Daten in einem einzigen Docker-Volumen zu speichern, während die Datenbank Software und seine Komplexitäten werden im A -Behälter versteckt:
Version: '3'Sie können für jede neue Anwendung einen neuen Datenbankcontainer erstellen, anstatt mehr Benutzer in derselben Datenbank zu erstellen, Berechtigungen einzurichten und eine schmerzhafte Rigmarole zu durchsuchen, um sicherzustellen, dass jede App und jeder Benutzer auf dem eigenen Rasen bleibt. Sie müssen auch keine Ports im Host -System öffnen, da der Datenbankcontainer in seinem eigenen isolierten Netzwerk ausgeführt wird und Sie es so ausführen können, dass nur Ihre Anwendung Teil dieses Netzwerks sein kann und somit auf die Datenbank zugreifen kann.
WordPress Stack
Ein Höhepunkt aller verschiedenen Teile von der Verwendung von Umgebungsvariablen zum Ausführen eines Frontend-Webservers und einer Backend-Datenbank kann in einer Docker-Compose-Datei für eine WordPress-Website kombiniert werden, wie unten gezeigt:
Version: '3.3'Dies ist das beliebteste Beispiel und wird auch in der offiziellen Docker-Compose-Dokumentation erwähnt. Es besteht die Möglichkeit, dass Sie WordPress nicht bereitstellen, aber die Komponierungsdatei kann hier weiterhin als schnelle Referenz für ähnliche Anwendungsstapel dienen.
Docker-Compose mit Dockerfiles
Bisher haben wir uns nur mit der reinen Bereitstellungsseite von Docker-Compose befasst. Wahrscheinlich werden Sie komponieren, um nicht nur bereitzustellen, sondern zu entwickeln, zu testen und zu testen und Dann Anwendungen bereitstellen. Unabhängig davon, ob Sie auf Ihrer lokalen Workstation oder auf einem dedizierten CD/CI-Server ausgeführt werden, kann Docker-Compose ein Bild erstellen, indem Sie die im Root des Repositorys vorhandene Dockerfile über Ihre Anwendung oder einen Teil der Anwendung verwenden:
Version: '3'Sie werden festgestellt, dass der Backend-Service zwar ein bereits bestehendes Bild von Mariadb verwendet, das Frontend-Bild erstmals aus der Dockerfile im Inneren erstellt wurde ./Frontend-Code-Verzeichnis.
Die gesamte Funktionalität von Docker-Compose ist ziemlich leicht zu verstehen, wenn wir uns nur zuerst fragen, was wir versuchen zu bauen. Nach ein paar Tippfehler und versuchten Versuchen haben Sie eine Reihe von Ausschnitten, die fehlerfrei funktionieren und wie LEGO -Bausteine zusammengestellt werden können, um Ihre Anwendungsbereitstellung zu definieren.
Ich hoffe, die beiden Beispiele geben Ihnen einen guten Vorsprung damit. Hier finden Sie die vollständige Referenz für das Schreiben von Compose -Datei hier.