Definitive Methode zur Bestimmung, ob ein Container ein Serverpaket oder ein eigenes verwendet

Definitive Methode zur Bestimmung, ob ein Container ein Serverpaket oder ein eigenes verwendet

Mein Verständnis von Containerisierung ist begrenzt, daher ist diese Frage möglicherweise falsch, aber ich weiß mit Sicherheit, dass Docker-Container einige Kernelressourcen ihres Hostsystems nutzen, um relativ leichtgewichtig zu bleiben. Meines Wissens nach kann dies auch auf verteilte Betriebssystempakete ausgedehnt werden (z. B. Binutils).

Vorausgesetzt, ich täusche mich nicht in der Annahme, dass Docker-Container die Kapazität haben, vom Host bereitgestellte Pakete zu verwenden, gibt es eine Standardmethode zum Aufzählen aller Pakete, die der Container auf einem bestimmten Server zu finden beabsichtigt/erwartet, wenn er von diesem gehostet wird?

Antwort1

Ich weiß, dass Docker-Container einige Kernel-Ressourcen ihres Hostsystems nutzen, um relativ leichtgewichtig zu bleiben.

Ja, Container teilen sich den Host-Kernel.

Soweit mir bekannt ist, kann dies auch auf vom Betriebssystem verteilte Pakete (z. B. Binutils) ausgeweitet werden.

Esdürfen, aber das ist äußerst ungewöhnlich und erfordert eine manuelle Einrichtung außerhalb des Containers – im Grunde müssen Sie ein Volume vom Host mounten, damit der Container auf die relevanten Teile seines/seiner Dateisystems/-systeme zugreifen kann.

In den allermeisten Fällen sind die Benutzerbereichsbereiche von Containern vollständig vom Host getrennt. Es gibt keine Standardmethode, um Pakete aufzulisten, die der Container auf dem Host erwartet, da Container normalerweise keine solche Erwartung haben und es für sie keine Möglichkeit gibt, solche Erwartungen zu deklarieren. Wenn Sie auf einen solchen Container stoßen, sollte die Dokumentation Sie darüber informieren und ob er einen Bereitstellungsdeskriptor jeglicher Art hat (z.BEin Helm-Diagramm für Kubernetes) enthält die erforderlichen Volumes und Einhängepunkte (sagt aber nicht, was es vom Host benötigt).

Container sind wirklich host-agnostisch: Sie laufen auf jedem System mit der entsprechenden Container-Laufzeitumgebung, und der Host kann jedes beliebige Paketsystem verwenden oder auch gar keines. Container verfügen also nicht einmal über die erforderlichen Konzepte, um ein Paket vom Host anzufordern; dies würde einigen der grundlegenden Prinzipien von Containern zuwiderlaufen.

verwandte Informationen