Sie können ein Projekt eingeben, das Docker verwendet. (Drücke einfach vorne auf "Docker-Compose-Up" -D) Wenn Sie jedoch in regelmäßigen Abständen arbeiten, wird beim Starten nach der Verzweigung ein Fehlerbildschirm angezeigt, oder wenn sich der Entwickler mit mir in Verbindung setzt, um die Daten neu zu erstellen, da sich die Docker-Einstellungen geändert haben, werde ich dies vorerst untersuchen Ich habe den Container gelöscht-> das Bild gelöscht-> aus gitHub gezogen und neu erstellt ... Was ist passiert? Ich wollte loswerden.
Eigentlich habe ich vor einiger Zeit darüber nachgedacht, Docker auszuprobieren. Ich habe irgendwo einen Artikel gesehen und den Container über die Docker-Datei gestartet, aber selbst wenn ich den PC kürzlich heruntergefahren habe, habe ich festgestellt, dass er im Hintergrund gestartet wurde und ich hatte Angst. Es war. Vielleicht habe ich "Docker-Compose Stop" als Befehl zum Stoppen des Containers verwendet, und es wäre in Ordnung gewesen, wenn es "Docker-Compose Down" gewesen wäre. Vielleicht. Ich wollte es auch wissen.
Selbst wenn Sie einen Dienst erstellen, ist der Betrieb schwierig, wenn die Infrastruktur nicht solide ist Der Grund, warum es richtig betrieben werden kann, ist, dass es ein richtiges Betriebsdesign hat.
Es gibt zwei Hauptanforderungen an das System.
Eine Zusammenfassung der Systemfunktionen und was mit Software gemacht werden kann
Andere Anforderungen als funktionale Anforderungen, Systemleistung und -zuverlässigkeit, Sicherheit usw.
Die Systeminfrastruktur ist die Infrastruktur wie Hardware und Betriebssystem / Middleware, die zum Ausführen von Anwendungen erforderlich ist.
Windows Server / Unix / Linux usw. Spezialisiert auf schnellen, stabilen und langfristigen Betrieb des Systems.
Serversoftware, die eine Funktion hat, mit der der Server eine bestimmte Rolle auf dem Betriebssystem spielt. Webserver / Webanwendungsserver, Datenbankserver, Systemverwaltungstool usw.
Das Rechenzentrum (physisch) und die Netzwerkverbindungsserver.
Grob in drei Teile geteilt
On-Premise ist möglicherweise besser geeignet. Überlegen Sie es sich daher genau
Zwei. In der Netzwerkwelt werden Netzwerkadressen verwendet, um Server, Clients usw. zu identifizieren.
Es ist die Basis der Netzwerktechnologie. Das OSI-Basisreferenzmodell ist ein konzeptionelles Modell, das die von ISO festgelegten Kommunikationsfunktionen in eine hierarchische Struktur unterteilt. Es gibt 7 Ebenen. Die Interoperabilität wird durch Layering sichergestellt.
Kommunikationsprotokoll
ist eine Konvention für die Kommunikation. So etwas wie eine Sprache für die Kommunikation miteinander.--Anwendungsschicht 7
LAN-Kabel-> MAC-Adresse-> Router-> IP-> TCP-> Bestimmen Sie den Zeitpunkt der Datenübertragung-> Bestimmen Sie das Komprimierungs- und Zeichencode-Ausdrucksformat-> Geben Sie das Anwendungsprotokoll an (HTTP, FTP).
Schützen Sie das Innere mit einer Firewall, damit das System sicher läuft. Zur Steuerung der internen und externen Kommunikation.
Der Kernteil des Betriebssystems, geschrieben in C und Assemblys. --Geräteverwaltung
Zum Betreiben des Linux-Kernels. Befehl mit einem Befehl. Eine Textdatei ist eine Sammlung von Anweisungen, die Sie in der Shell ausführen möchten. Die Steuerungssyntax kann verwendet werden. (if, for ..) Shell ist bash, zsh usw.
VFS: Ein transparenter Zugriff auf Daten ist mit einem Mechanismus möglich, der als virtuelles Dateisystem bezeichnet wird. Unabhängig davon, wo es gespeichert ist, kann alles als Datei in einem Verzeichnis abgerufen werden. (Sie müssen nicht auf das Innere der Festplatte oder das Innere des USB achten.)
Verschiedene Befehle und Einstellungsdateien werden im Verzeichnis abgelegt. Diese Verzeichnisliste ist durch einen Standard namens FHS standardisiert. Abhängig von der Linux-Distribution gibt es Unterschiede (Betriebssystem, das sich außerhalb des Linux-Kernels unterscheidet, wie z. B. CentOS, Fedora, Ubuntu), aber es ist fast dasselbe.
Die Berechtigung kann vom Root-Benutzer und vom allgemeinen Benutzer festgelegt werden. root ist ein privilegierter Benutzer und verfügt über alle Ausführungsrechte. Sie können allgemeine Benutzerkonten als Gruppe festlegen und Berechtigungen im Detail festlegen. Sie können die Zugriffsberechtigung festlegen. Es ist wahrscheinlich dasselbe wie beim Hochladen mit FTP, manchmal ist es durch Berechtigungen eingeschränkt und wird nicht angezeigt.
Es gibt viele andere Sicherheitsmaßnahmen
Neben Grundkenntnissen in Hardware / Netzwerk / Betriebssystem sind auch Kenntnisse in Middleware erforderlich, um die Anwendung zu starten.
Es hat die Funktion, http-Anforderungen zu empfangen, Webinhalte (HTML, CSS usw.) als Antwort zurückzugeben und andere serverseitige Programme aufzurufen. Apache, Nginx usw.
Middleware für die Datenverwaltung. DBMS. MySQL, PostgreSQL (Postogure School), Oracle-Datenbank
Eine relationale Datenbank ist eine Datenbank, die Daten in Form einer zweidimensionalen Tabelle verwaltet. Sie können mehrere Tabellen kombinieren und verwenden. (Beziehung)
NoSQL Ein anderes Format als RDBMS. Da es gut ist, eine große Datenmenge zu akkumulieren und parallel zu verarbeiten, ist es notwendig, den Zugriff einer großen Anzahl von Benutzern zu verarbeiten. Weit verbreitet in XML-Datenbank-Online-Systemen. MongoDB,Redis
Für einen stabilen Betrieb des Systems. Zabbix, Datadog, Makrele (Hatena)
Mit dem Aufkommen von Cloud-Systemen und verschiedenen technologischen Zweigen ist es möglich geworden, Server und Netzwerke, die vor Ort schwierig waren, aufzubauen und sofort zu zerstören. Es ist nicht mehr erforderlich, den Änderungsverlauf zu verwalten. Es wurde geändert, um den Status der derzeit betriebenen Infrastruktur zu verwalten.
Ich habe ein Parameterblatt verwendet (wie ein detailliertes Designdokument oder ein Programmdesigndokument in der Infrastruktur), aber wenn die Verwaltung unzureichend war, funktionierte es manchmal nicht gut, wenn ich versuchte, die Konfiguration zu ändern. Es verursacht den schlimmsten Sicherheitsvorfall.
Wenn Sie es mit Code erstellen und mit git verwalten, bleibt das Protokoll auch bei einer Änderung in der Produktion in git und der Änderungsverlauf kann ebenfalls verwaltet werden. Sie können auch eine Nachricht hinterlassen. Es kann die Personalisierung beseitigen, es ist einfach zu teilen und es befindet sich im selben Zustand, unabhängig davon, wer es ausführt.
In Docker können Informationen zur Infrastrukturkonfiguration in einer Datei mit dem Namen ** Dockerfile ** beschrieben werden.
Vagrant, um eine virtuelle Umgebung zu erstellen
Ein Tool zur Automatisierung der Installation und Versionsverwaltung von Middleware wie Datenbankserver / Webserver / Überwachungsagent, Betriebssystem- und Middleware-Einstellungsdatei und Firewall-Einstellungen. Chef, Ansible
Es gibt mehrere Server, aus denen ein großes System besteht. Ein Tool zum Verwalten dieses verteilten Servers. Das Container-Orchestrierungs-Tool ** Kubernetes ** ist ein Tool, das mehrere Container in einer virtuellen Container-Umgebung umfassend verwaltet.
Sie können Docker verwenden, um die Umgebung anzupassen. Neben dem Vorteil der Standardisierung besteht auch der Vorteil der Verhinderung der Personalisierung.
Ich bin wirklich schlecht in Infrastrukturkenntnissen und es fällt mir schwer, das Bild des OSI-Referenzmodells zu erfassen, das am Anfang eines Buches oder Artikels geschrieben wurde. Jedes Mal, wenn ich es las, fragte ich zunächst, wie es war ... also denke ich, es ist an der Zeit, es zu bekommen.
Ich bin eine Person an der Rezeption, daher würde ich es gerne eines Tages mit Docker von der Vorderseite aus sehen.