Gemäß der Docker-Dokumentation müssen Sie zum Erstellen eines eigenen Images immer ein Basis-Image mithilfe der FROM
Anweisung angeben .
Natürlich stehen im Docker-Index viele Bilder zur Auswahl , aber was ist, wenn ich meine eigenen erstellen möchte? Ist das möglich?
Das Image base
basiert auf Ubuntu, wenn ich es richtig verstehe, und ich möchte mit einem Debian-Image experimentieren. Außerdem möchte ich wirklich verstehen, wie Docker funktioniert, und das base
Bild ist für mich immer noch eine Blackbox.
Bearbeiten: offizielle Dokumentation zum Erstellen eines Basis-Images
Antworten:
Sie können sich ansehen, wie die Basisbilder erstellt werden, und von dort aus fortfahren.
Sie finden sie hier: https://github.com/dotcloud/docker/tree/master/contrib . Es gibt mkimage-busybox.sh, mkimage-unittest.sh, mkimage-debian.sh
quelle
Zitiert Solomon Hykes :
quelle
docker
Gruppe hinzu.docker import - flimm/mybase
anstelle vondocker import flimm/mybase
debootstrap
undtar
sollte zumindest unter ausgeführt werdenfakeroot
.(Gutschrift an dadlinux) Informationen erhalten Sie unter http://developerblog.redhat.com/2014/05/15/practical-introduction-to-docker-containers/ , was besser erklärt wird
Erstellen Sie die TAR-Dateien für Ihr Dateisystem, könnte einfach sein
Übertragen Sie die TAR-Datei auf ein anderes Docker-System, wenn es nicht lokal installiert
import
istJetzt können Sie dies überprüfen, indem Sie es ausführen.
Die Skripte von dotcloud kombinieren die ersten beiden Schritte miteinander, was mich verwirrt und am Anfang kompliziert aussieht.
Die offizielle Docker- Richtlinie verwendet
debootstrap
auch, um ein sauberes Dateisystem zu erstellen.Sie können selbst beurteilen, wie Schritt 1 ausgeführt wird.
quelle
Um Ihr eigenes Bild von Grund auf neu zu erstellen, können Sie das
scratch
Bild verwenden.http://docs.docker.com/engine/articles/baseimages/#creating-a-simple-base-image-using-scratch
quelle
import
aus einer TAR-Datei sind die beiden kanonischen Antworten, und dieser Link ist die kanonische Ressource.Wenn Sie Ihr eigenes Basisbild erstellen möchten, würde ich mir zuerst die offiziellen Bilder ansehen , insbesondere
stackbrew
in diesem Repo.Ansonsten gibt es im Docker-Repo selbst einige großartige Referenzen für minimale Betriebssystem-Images .
Zum Beispiel ist hier ein Skript für ein minimales Bogenbild zu machen und es gibt mehr hier .
quelle