GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Meine 5 Lieblings-Linux-Container-Images

Wenn Sie anfangen, Container ernsthaft zu verwenden, stellen Sie schnell fest, dass es viele Container-Images gibt. Eine der größten Stärken von Open Source ist die Auswahl, und bei so vielen verfügbaren Bildern haben Sie viele Möglichkeiten, wenn Sie ein Bild benötigen, auf dem Sie Ihre Arbeit aufbauen können. Ich stelle fest, dass ich ziemlich häufig zu denselben wenigen Bildern zurückkehre. Es gibt insbesondere fünf, die mich immer wieder zu einem glücklichen Cloud-Architekten machen.

Nginx

Ich führe Nginx seit über einem Jahrzehnt auf Servern aus, normalerweise wegen seines einfachen Konfigurationsdateiformats und seiner Fähigkeit, einen ziemlich guten Lastausgleich durchzuführen. Durch die Migration zu Kubernetes zum Ausführen von Diensten liebe ich Nginx jedoch noch mehr, da ich sehe, wie vielseitig es als Reverse-Proxy, Ingress-Controller und natürlich als schlanker Webserver ist.

Das Bitnami-Nginx-Image auf Quay.io ist das, was ich normalerweise verwende, wenn ich eine schnelle und zuverlässige Nginx-Instanz benötige. Es ist einfach mit Podman zu verwenden und mit Helm einfach zu installieren. Es ist gut dokumentiert, sodass ich immer weiß, wo ich nach wesentlichen Konfigurationsoptionen suchen muss.

RHEL

Als ich damals benutzerdefinierte Anwendungen für meine Benutzer erstellte, entwickelte ich die Angewohnheit, meine Arbeit auf vorherigen zu basieren Red Hat Enterprise Linux (RHEL)-Release von dem, was gerade aktuell war. Es stellte sich heraus, dass es eine sichere Vorgehensweise war, die Arbeit, die Sie "universal" machen wollten, auf eine stabile Distribution wie RHEL zu stützen. Alles, was ich gebaut habe, lief auf Fedora und Debian und anderen Workstations sowie auf meiner persönlichen Slackware-Workstation.

Aus dieser Erfahrung habe ich die Angewohnheit geerbt, die meiste Arbeit, die ich mache, auf einer schönen, sauberen RHEL-Installation zu basieren. Für die Arbeit in der Cloud verwende ich das offizielle RHEL-Image.

[ Erfahren Sie mehr über Linux, indem Sie sich für diesen kostenlosen Online-Kurs anmelden:RHEL Technical Overview ]

Postgres

Es gibt viele großartige Apps, die in Containern bereitgestellt werden. Jeder, der mehrere Container aneinanderreihen musste, um eine Anwendung zum Laufen zu bringen, weiß, dass es wirklich auf die verwendeten Komponenten ankommt. Während ich meine Onlinedienste in die Cloud verschiebe, habe ich festgestellt, dass eine zuverlässige Containerbasis für wichtige Abhängigkeiten die Bereitstellung von Software vereinfacht. Von allen Images, die ich verwende, hat mir der PostgreSQL-Container auf Quay.io am besten geholfen, die Vorteile von Containern zu nutzen.

Ich habe bereits viele Variablen, wenn ich Anwendungen in der Cloud aufsetze, daher ist es für mich ein großer Vorteil zu wissen, dass die Laufzeit meiner Datenbank solide ist. Ich könnte ein Betriebssystem und Postgres in einem Container konfigurieren, um die Daten meiner Anwendungen sicher und zuverlässig zu verarbeiten, aber mit diesem Image haben das bereits viele Postgres-Experten für mich getan. Das ist ein Vorteil, den ich gerne in Anspruch nehme.

BusyBox

Wenn ich jemals auf einer einsamen Insel gestrandet bin und nur eine Anwendung mitnehmen kann, dann ist es BusyBox. Mit über 400 integrierten Befehlen ist BusyBox ein winziges Kraftpaket mit POSIX-Potenzial.

In der Cloud ist es genauso nützlich wie auf dem Desktop (oder Handy oder TV, Router, Drohne und so weiter). Das BusyBox-Image aus dem OpenShift-Projekt ist winzig und lässt sich daher schnell abrufen. Es ist ein minimales Image, daher einfach zu verwenden, aber es wurde mit Unterstützung für mehrere Architekturen erstellt, einschließlich x64, Arm64, PPC, s390 und mehr, sodass es für jede Cloud geeignet ist, in der Sie sich befinden.

Die, die ich selbst baue

Ich bin nicht zu Linux gekommen, weil ich meinen Workflow in die Lösung von jemand anderem zwingen wollte. Die erste Software, die ich jemals unter Linux erstellt habe, war der Kernel (ich hatte zuvor andere Software unter Unix erstellt), und mein Ziel war damals, bzImage so klein wie möglich zu machen. Ich habe es auf 1,5 MB reduziert und war furchtbar stolz darauf, obwohl es nicht wirklich bootete (es stellte sich heraus, dass ich vergessen hatte, den Dateisystemtreiber einzuschließen).

In Fortsetzung dieser guten Tradition ist manchmal das beste Image das, das Sie selbst aufbauen. Wie genau das geht, zeigt Chris Collins in seinem Artikel How to build tiny container images. Noch wichtiger ist, dass er die Logik hinter den wichtigsten Entscheidungen erklärt. ("Wenn wir uns ausreichend spezialisieren und die Idee der Fehlerbehebung in Produktionscontainern aufgeben, brauchen wir dann Bash?")

Nehmen Sie eine Lektion von den Besten und probieren Sie es aus!

[ Erstellen Sie Anwendungsumgebungen für Zuverlässigkeit, Produktivität und Veränderung. Laden Sie das kostenlose eBook „Cloud-nativ trifft Hybrid-Cloud:Ein Strategieleitfaden“ herunter. ]

Ihre Favoriten

Diese drei Bilder sind nicht die einzigen Container, die ich verwende. Da gibt es RHEL 8/PostgreSQL 13, von dem ich viel Gebrauch mache, und Etcd, das häufig vorkommt, und viele, viele mehr. Ich finde es hilfreich, sich mit ein paar zuverlässigen Container-Images vertraut zu machen, also erkunden Sie Ihre bevorzugten Image-Repositories und sehen Sie, was es da draußen gibt.


Linux
  1. Was ist Ihr Lieblings-Linux-Terminal-Trick?

  2. 10 Artikel, um Linux auf Ihre Weise zu lernen

  3. Was ist Ihr Lieblings-Linux-Paketmanager?

  4. Was ist Ihr Lieblings-Linux-Terminal-Emulator?

  5. Was ist Ihre Lieblings-Desktop-Linux-Distribution?

Meine bevorzugten Linux-Top-Befehlsoptionen

Meine Lieblings-Casual-Games für Linux

4 Linux-Technologien, die für Container grundlegend sind

Was ist Ihre Lieblings-Linux-Distribution?

10 Möglichkeiten für den Einstieg in Linux

Einführung in die Verwaltung von Linux-Containern