dockerc - Ein Tool zum Kompilieren von Docker-Images in eigenständige portable Binärdateien
(github.com/NilsIrl)- Ein Tool zum Kompilieren von Docker-Images in eigenständige, portable Binärdateien
- Ermöglicht es, Nutzern ausführbare Binärdateien bereitzustellen, die ohne Befehle wie
docker run,pip installodernpm iausgeführt werden können
Funktionen
- Kompiliert Docker-Images in portable Binärdateien.
- Container ohne Root-Rechte.
- Unterstützung für MacOS und Windows (unter Verwendung von QEMU): geplant
- Unterstützung für x86_64 (arm64-Unterstützung geplant)
- Unterstützung für Argumente
- Unterstützung zum Setzen von Umgebungsvariablen mit
-e. - Unterstützung zum Angeben von Volumes mit
-v.
Verwendung
- dockerc aus dem neuesten Release installieren.
- Mit einem Image aus Docker Hub oder aus dem lokalen Docker-Daemon-Repository die Ausgabe-Binärdatei erzeugen.
- Die erzeugte Binärdatei kann wie eine gewöhnliche Binärdatei aufgerufen werden.
- Die Optionen
-eund-vkönnen genauso angegeben werden wie bei der Verwendung vondocker run. - Auf Netzwerkdienste, die innerhalb des Containers laufen, kann direkt zugegriffen werden; die Angabe von
-pist nicht erforderlich. - Zum Laden von Images wird Skopeo verwendet; für andere Speicherorte siehe die entsprechende Dokumentation.
Meinung von GN⁺
- dockerc ist ein Tool, das die Nutzbarkeit von Docker erheblich verbessern kann, da es Anwendern ermöglicht, Anwendungen ohne komplexe Installationsprozesse auszuführen. Das kann besonders für nichttechnische Nutzer sehr nützlich sein.
- Die Funktion, Docker-Images in Binärdateien zu kompilieren, vereinfacht Verteilung und Deployment und spart Entwicklern und Systemadministratoren Zeit und Aufwand.
- Damit sich diese Technologie jedoch breit durchsetzen kann, müssen Fragen zu Sicherheit, Performance und Kompatibilität ausreichend geklärt werden. Es muss zum Beispiel geprüft werden, ob die kompilierten Binärdateien genauso sicher sind wie die ursprünglichen Docker-Images und ob sie auf allen Systemen reibungslos funktionieren.
- Ein anderes Projekt mit ähnlichen Funktionen wie Docker ist Podman, das ebenfalls Container ohne Root-Rechte ausführen kann.
- Bei der Einführung von dockerc sollten die Integration in bestehende Docker-Workflows, die Aktualisierung und Verwaltung von Images sowie Größe und Performance der kompilierten Binärdateien berücksichtigt werden. Die Vorteile dieser Technologie liegen in der Vereinfachung der Verteilung und der leichten Nutzung, gleichzeitig sollten aber der mögliche Overhead des Kompilierungsprozesses und potenzielle Kompatibilitätsprobleme sorgfältig abgewogen werden.
2 Kommentare
Oh, ziemlich interessant.
Hacker-News-Kommentare
Das ist wirklich cool.
Früher habe ich
nix-bundle¹ oder sein offizielles Gegenstücknix bundle² verwendet und empfohlen.nix bundlekann nicht nur fette Executables erzeugen, sondern auch Docker-Images, AppImages und einige andere Formate von Images/Executables.Es ist wirklich schön, zu portablen Executables mit eingebautem OS zurückzukehren.
Der Nutzer wartet darauf, dass Leute anfangen, Dockerfiles zu schicken, die Docker-Container erzeugen, welche diese Dinge ausführen.
Darin steckt eine große kosmische Ironie.
Das ist ein cooler Fortschritt, Nils! Ich freue mich, den Fortschritt des Projekts zu sehen, seit wir im AGI House darüber gesprochen haben.
Für andere Architekturen braucht man immer noch andere Dinge.
Gute Idee! Wie funktioniert das eigentlich?
Es ist cool, dass das Lant-Bild verwendet wurde.
Was bedeutet das? Kann man damit ein portables Ruby-Executable verteilen, ohne dass der Nutzer Ruby installieren muss?