Behälter

So minimieren, optimieren und sichern Sie Docker-Container mit DockerSlim

So minimieren, optimieren und sichern Sie Docker-Container mit DockerSlim

DockerSlim ist ein Open-Source-Tool, mit dem Sie Ihre Docker-Container bis zu 30-mal sichern und minimieren können! Lassen Sie uns nun zunächst erfahren, welche Vorteile das Minimieren von Containern mit sich bringt.

  1. Ihre Container werden leicht und starten daher schneller
  2. Upgrades werden auch schneller sein
  3. Je kleiner der Container, desto weniger Bugs und Sicherheitsbedrohungen.
  4. Sie minimieren die Speichernutzung für Ihre Systeme.

In diesem Artikel erfahren Sie, wie Sie DockerSlim installieren und wie Sie damit andere Container in Ihrer Docker-Umgebung verkleinern können.

So installieren Sie DockerSlim unter Linux | Mac OS

Gehen Sie zum DockerSlim GitHub-Repository unter 'Installation' und laden Sie die neuesten Binärdateien für Ihr System herunter. DockerSlim kann derzeit nur auf Linux- und UNIX-Systemen (einschließlich Mac) ausgeführt werden.

DockerSlim unter Linux installieren

Wählen Sie „Neueste Linux-Binärdateien“, um die Binärdateien für ein Linux-System herunterzuladen wget Befehl.

wget https://downloads.Dockerslim.com/releases/1.34.0/dist_linux.Teer.gz

Extrahieren Sie die Binärdatei aus dem .Teer.gz-Datei.

tar -xvzf dist_linux.Teer.gz

Verschieben Sie die extrahierten Binärdateien nach /usr/local/bin.

mv dist_linux/* /usr/local/bin

DockerSlim auf macOS installieren

Laden Sie die Archivdatei mit DockerSlimS herunter

wget https://downloads.Dockerslim.com/releases/1.35.0/dist_mac.Postleitzahl

Entpacken Sie die Datei mit unzip

entpacken dist_mac.Postleitzahl

Verschieben Sie die extrahierten Binärdateien nach /usr/local/bin.

mv dist_mac/* /usr/local/bin

Bestätigen Sie mit , dass die Binärdateien von Ihrem System erkannt werden welche Befehl.

Wenn die Installation fertig ist, können wir sie jetzt verwenden, um unsere Docker-Container zu verwalten. Sie müssen Docker Container Engine auf Ihrem System installiert haben. Folgen Sie der Anleitung How To Install Docker CE on Linux Systems, um sich mit einer Docker-Umgebung vertraut zu machen.

Verwenden Sie DockerSlim, um Docker-Container zu minimieren und zu optimieren

DockerSlim verfügt über eine interaktive Shell, mit der Sie Ihre Container schlanker und sicherer machen können.

Sie können die DockerSlim-Shell öffnen, indem Sie Folgendes eingeben: docker-schlank auf deinem Terminal.

Die grundlegenden Befehle für Dockerslim umfassen:

Es gibt andere Optionen, die neben den obigen Befehlen verwendet werden, z.G

--Ziel - Ziel DockerFile oder Image

--Zieltyp - Geben Sie den Befehlszieltyp explizit an, wenn es sich um ein Image oder eine Dockerfile handelt

--http-Sonde - Aktiviert http-Probing

Viele weitere Beispiele aus dem DockerSlim GitHub-Repository finden Sie hier

Lassen Sie uns einige Beispiele durchgehen

Optimiertes Nginx-Image erstellen

Damit Sie ein optimiertes Image erstellen können, müssen Sie zuerst das Image herunterladen:

$ docker pull nginx: neuestes

Wir können die Größe des heruntergeladenen Bildes mit dem folgenden Befehl überprüfen:

$ docker images nginx:latest REPOSITORY TAG BILD-ID ERSTELLTE GRÖSSE nginx neueste 519e12e2a84a 2 Stunden vor 133MB

Jetzt können wir mit dem folgenden Befehl ein optimiertes Bild erstellen

$ docker-slim build --target nginx:latest

Beispielausgabe:

… cmd=build info=event message="HTTP-Probe abgeschlossen" cmd=build state=container.Inspektion.Beenden cmd=build state=container.Inspektion.Artefakt.Verarbeitung cmd=build state=container.Inspektion.done cmd=build state=building message="building optimiertes Bild" cmd=build state=completed cmd=build info=results status="MINIFIED BY 12.00X [133108601 (133 MB) => 11089969 (11 MB)]" cmd=build info=Ergebnisbild.name=nginx.schlankes Bild.size='11 MB' data=true cmd=build info=Ergebnisartefakte.location='/tmp/docker-slim-state/.docker-slim-state/images/519e12e2a84a9eb18094635ae1edfd97b26f95dbc66e317eefb657a1cb08c8dc/artifacts' cmd=build info=Ergebnisartefakte.report=creport.json cmd=build info=Ergebnisartefakte.dockerfile.original=Dockerfile.Fett cmd=build info=Ergebnisartefakte.dockerfile.new=Dockerfile cmd=build info=Ergebnisartefakte.seccomp=nginx-seccomp.json cmd=build info=Ergebnisartefakte.apparmor=nginx-apparmor-profile cmd=build state=done cmd=build info=commands message="verwenden Sie den xray-Befehl, um mehr über die Bildoptimierung zu erfahren"

Die obige Ausgabe besagt, dass das Bild von 133 MB auf 11 MB reduziert wurde. Dies ist eine keuchende 12X-Größe.

Wir können dies bestätigen, indem wir die Größe des neuen Bildes überprüfen:

$ docker images nginx.schlank

Ausgabe:

$ docker images nginx.schlankes REPOSITORY TAG BILD-ID ERSTELLTE GRÖSSE nginx.schlank neueste 98bc8a53012f vor 3 Minuten 11.1 MB

Jetzt können wir aus dem neuen Image einen Container erstellen und sehen, ob er ordnungsgemäß als Originalimage funktionieren kann.

$ docker run -it -d --name slim-webserver -p 86:80 nginx.schlank

Im obigen Befehl haben wir einen Container im getrennten Modus gestartet (-d) wessen Name ist Slim-Webserver und freigelegter Port 80 des Containers zu Port 86 des Hosts. Wir haben auch nginx verwendet.schlank wie das bild.

Den Status des Containers können Sie über die docker ps -a Befehl.

[email protected]:~# docker ps -a CONTAINER ID BILDBEFEHL ERSTELLTER STATUS PORTS NAMEN 7d29874994ee nginx.schlank "/docker-entrypoint.… " vor 3 Minuten Nach oben 3 Minuten 0.0.0.0:86->80/tcp Slim-Webserver 

Wir können auf den Webserver auf Port 86 des Hosts zugreifen.

Dies bestätigt, dass es uns gelungen ist, das Nginx-Image von zu minimieren 133 MB zu 11 MB und einen funktionierenden Container daraus erstellt. Es lebe DockerSlim!

Vergessen Sie nicht, sich diese anderen Tutorials auf dieser Website anzusehen:

So installieren Sie Docker CE auf Linux-Systemen

Installieren Sie Docker und Docker Compose auf RHEL 8 / CentOS 8

Installieren Sie Minikube Kubernetes auf CentOS 8 / CentOS 7 mit KVM
Dieses Tutorial wurde geschrieben, um Ihnen bei der Installation von Minikube auf CentOS 8 / CentOS 7 mit KVM Hypervisor zu helfen. Minikube ist ein O...
Verbinden Sie einen neuen Kubernetes Worker Node mit einem vorhandenen Cluster
Nach der Ersteinrichtung eines Kubernetes-Clusters ist die gängigste Operation am Tag 2 das Hochskalieren Ihres Clusters durch Hinzufügen weiterer Kno...
So migrieren Sie Docker Compose-Anwendung zu Kubernetes mit Kompose
kompose (abgeleitet aus der Verschmelzung von Kubernetes- und Docker-Compose-Namen) ist ein Tool, das Benutzern hilft, die mit Docker-Compose vertraut...