Ein Container in Docker kann nicht nur eine Anwendung ausführen; solange die Ressourcen ausreichend sind, können mehrere Anwendungen in einem Container ausgeführt werden. Das Ausführen mehrerer Anwendungen in einem Container hat jedoch viele Nachteile und verstößt gegen die ursprüngliche Absicht des Containers. Der Container muss leichtgewichtig sein. Wenn Anwendungen zusammen platziert werden, kann dies zu Problemen mit einem Prozess führen und den Zugriff auf alle Prozesse unmöglich machen.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.
In einem Container können mehrere Anwendungen ausgeführt werden, aber das widerspricht der ursprünglichen Absicht des Containers Seien Sie leichtgewichtig und isoliert. Wenn es keinen Sinn macht, Anwendungen zu bündeln, hat die Bereitstellung mehrerer Prozesse in einem Container viele Nachteile. Wenn beispielsweise das Image eines bestimmten Prozesses aktualisiert wird, werden andere Prozesse zum Neustart gezwungen. Tritt in einem Prozess ein Problem auf und der Container hängt, sind alle Prozesse nicht zugänglich.
Es wird nicht empfohlen, mehrere Programme direkt in einem einzigen Docker-Container auszuführen.
Wenn man die offizielle Unterstützung von Docker für Kubernetes am 18. Oktober 2017 als Wendepunkt betrachtet, ist es mehr als ein Jahr her, seit Kubernetes den endgültigen Sieg im Container-Orchestrierungskrieg errungen hat. Werfen wir zunächst einen Blick auf das klassische Kubernetes-Architekturdiagramm:
Sie sehen, dass in Kubernetes die kleinste Bereitstellungseinheit für die Erstellung, Planung und Verwaltung ein Pod und kein Container ist. In Szenarien ohne Containerisierungstechnologie können Container unter demselben Pod auf demselben physischen oder virtuellen Host ausgeführt werden. Daten und Kommunikation können problemlos zwischen diesen Containern geteilt werden, und einzelne Container können unabhängig voneinander neu erstellt und bereitgestellt werden.
Folgen Sie dem Single-Prinzip: Ein Container führt nur einen Hauptprozess aus.
Mehrere Prozesse werden in einem Container bereitgestellt, was viele Nachteile hat. Wenn beispielsweise das Image eines bestimmten Prozesses aktualisiert wird, werden auch andere Prozesse zum Neustart gezwungen. Tritt in einem Prozess ein Problem auf und der Container hängt, sind alle Prozesse nicht zugänglich.
Basierend auf den auf der offiziellen Website vertretenen Grundsätzen.
Container = Anwendung + abhängige Ausführungsumgebung
Anstatt eine Reihe von Prozessen zusammen wie eine virtuelle Maschine bereitzustellen.
Empfohlenes Lernen: „
Docker-Video-TutorialDas obige ist der detaillierte Inhalt vonKann ein Docker-Container nur eine Anwendung ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!