‫Wenn Sie im Internet nach einer Definition für einen Container suchen, werden Sie häufig feststellen,
‫dass Container mit virtuellen Maschinen verglichen werden.
‫Es stimmt, es gibt einige Ähnlichkeiten, aber es gibt so viele Dinge, die einfach nicht gleich sind.
‫Ich möchte, dass wir eine Sicherungskopie erstellen und sagen, wir sollten sie nicht einmal mit virtuellen Maschinen vergleichen. Weil sie wirklich nur ein
‫Prozess sind. Sie sind ein Prozess,
‫der auf Ihrem Host-Betriebssystem ausgeführt wird, in unserem Fall Linux. Lassen Sie uns einen Blick darauf werfen, wie einfach es ist, das
‫Konzept zu verstehen, das in unserem Host-Betriebssystem eigentlich nur ein eingeschränkter Prozess ist und nichts mit einer virtuellen Maschine zu tun hat.
‫Lassen Sie uns eine Mongo-Datenbank starten.
‫Wir werden es Mongo nennen. Wir werden es im Hintergrund laufen lassen.
‫Und wir verwenden das Mongo-Bild.
‫Gut. Wir können sehen, dass es ausgeführt wird, und Docker hat auch eine
‫Docker-Oberseite, mit der ich die Prozesse auflisten kann, die in einem bestimmten Container ausgeführt werden.
‫Wir werden dort sehen, dass wir einen einzigen Prozess namens Mongod haben.
‫Sie sehen, dass es sich um die PID handelt, bei der es sich um die Prozess-ID handelt. Das können wir auch vom Gastgeber machen. Da dies nur ein
‫Prozess ist, der auf unserem Host-Betriebssystem ausgeführt
‫wird, wird dieser Prozess von jedem Host-Tool angezeigt, das ich zum Anzeigen von Prozessen verwenden würde.
‫Wir können zum Beispiel eine Prozessliste verwenden. Ich werde sie alle im System auflisten. Sie werden hier tatsächlich sehen,
‫wenn ich suche, einer von ihnen heißt Mongod. Sie werden sogar feststellen, dass es tatsächlich unter einer anderen
‫Prozess-ID als der Rest des Systems ausgeführt wird.
‫Und das liegt nur an den Sicherheitsebenen, über die wir mit den Containern sprechen, und daran, dass sie sich
‫ein wenig von den normalen Prozessen auf dem Host unterscheiden.
‫Hier sehen wir deutlich, dass dies ein Prozess auf dem Host ist.
‫Es versteckt sich nicht in einer virtuellen Maschine, auf die wir keinen Zugriff haben.
‫Es ist genau dort vor uns.
‫Wenn ich diesen Container stoppe,
‫kannst du einen Docker ps machen. Du wirst sehen, dass es nicht läuft.
‫Sie können einen Docker-Top-Mongo machen.
‫Es wird uns eigentlich nichts geben, weil der Container nicht läuft.
‫Und wenn wir ein ps aux machen und erneut
‫nach mongo
‫suchen, werden wir in dieser Liste nichts Hervorgehobenes sehen. Ich suche tatsächlich in meinem Terminal.
‫Ein einfacherer Weg, dies zu tun,
‫wäre, ps aux zu machen und dann grep zu verwenden, ein Filterwerkzeug, das die Ausgabe durchsucht, und wir können ihm sagen, dass er nach dem Wort mongo
‫suchen soll.
‫Das einzige, was es tatsächlich finden wird, ist der Befehl, den ich gerade ausgeführt habe, um nach dem Wort Mongo
‫zu suchen.
‫Es listet das auf. Wir würden hier direkt
‫darunter einen weiteren Befehl erwarten, eine
‫weitere Ausgabe eines Prozesses, falls dieser tatsächlich ausgeführt wird. Wir können wieder hochfahren, Docker starten Mongo, weil dieser Container noch
‫da war und nur nicht
‫im Hintergrund lief, wie ein angehaltener Prozess. Wir können wieder ein Docker-PS machen und es läuft wieder.
‫Wir können wieder einen Docker-Top-Mongo machen und sehen, dass wieder ein Prozess im Container abläuft.
‫Es wurde gerade neu gestartet.
‫Es ist nur sechs Sekunden her, wie wir hier sehen können.
‫Wenn wir ein ps aux grep mongo machen, werden Sie sehen, dass ich jetzt tatsächlich den mongod-Prozess sehe.