101 votes

Comment puis-je faire ma propre image de base pour Docker?

Selon le Docker de la documentation, de construire votre propre image, vous devez presque spécifier une image de base à l'aide de l' FROM enseignement.

Évidemment, il y a beaucoup d'images à choisir dans le menu fixe index, mais que si je voulais construire mon propre? Est-ce possible?

L'image base est construite hors d'Ubuntu, si je comprends bien, et je veux faire l'expérience d'une image Debian. De Plus, je veux vraiment comprendre comment Docker œuvres, et l' base image est encore un blackbox pour moi.

37voto

creack Points 11635

Vous pouvez prendre un coup d'oeil à la façon dont les images de base sont créés et aller de là.

Vous pouvez les trouver ici: https://github.com/dotcloud/docker/tree/master/contrib. Il est mkimage-busybox.sh, mkimage-unittest.sh, mkimage-debian.sh

34voto

Flimm Points 8870

Citant Solomon Hykes:

Vous pouvez facilement créer un nouveau conteneur d'un tarball avec "docker de l'importation". Par exemple:

debootstrap raring ./rootfs
tar -C ./rootfs -c . | docker import flimm/mybase

23voto

Larry Cai Points 2243

(crédit fatherlinux) Obtenir des informations à partir de http://developerblog.redhat.com/2014/05/15/practical-introduction-to-docker-containers/ , ce qui explique mieux

  1. Créer les fichiers tar pour votre système de fichiers, il suffit peut être

    tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos6-base.tar /
    
  2. Transférer le goudron du fichier à d'autres docker système si il n'est pas installé localement et import il

    cat centos6-base.tar | docker import - centos6-base
    
  3. Maintenant, vous pouvez vérifier en cours d'exécution.

    docker run -i -t centos6-base cat /etc/redhat-release
    

Les scripts de dotcloud combiner les deux premières étapes qui me rendent confus et semble compliqué au début.

Le débardeur officiel de directive à l'aide de debootstrap essaie aussi de faire propre système de fichiers.

Vous pouvez juger par vous-même comment faire étape 1.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X