Selon la documentation Docker , pour créer votre propre image, vous devez toujours spécifier une image de base à l'aide de l' FROM
instruction.
De toute évidence, il y a beaucoup d'images parmi lesquelles choisir dans l'index Docker , mais que faire si je voulais créer la mienne? Est-ce possible?
L'image base
est construite sur Ubuntu si je comprends bien, et je veux expérimenter une image Debian. De plus, je veux vraiment comprendre comment fonctionne Docker, et l' base
image est toujours une boîte noire pour moi.
Edit: documentation officielle sur la création d'une image de base
Réponses:
Vous pouvez voir comment les images de base sont créées et partir de là.
Vous pouvez les trouver ici: https://github.com/dotcloud/docker/tree/master/contrib . Il y a mkimage-busybox.sh, mkimage-unittest.sh, mkimage-debian.sh
la source
Citant Solomon Hykes :
la source
docker
groupe.docker import - flimm/mybase
au lieu dedocker import flimm/mybase
debootstrap
ettar
devrait au moins être exécuté sousfakeroot
.(crédit à Fatherlinux) Obtenez des informations sur http://developerblog.redhat.com/2014/05/15/practical-introduction-to-docker-containers/ , qui explique mieux
Créez les fichiers tar pour votre système de fichiers, pourrait simplement être
Transférer le fichier tar dans un autre système de docker en cas d' installation sur place et
import
ilVous pouvez maintenant vérifier en l'exécutant.
Les scripts de dotcloud combinent les deux premières étapes, ce qui me rend confus et semble compliqué au début.
La directive officielle de docker à l' aide
debootstrap
essaie également de rendre le système de fichiers propre.Vous pouvez juger par vous-même comment faire l'étape 1.
la source
Pour commencer à créer votre propre image à partir de zéro, vous pouvez utiliser l'
scratch
image.http://docs.docker.com/engine/articles/baseimages/#creating-a-simple-base-image-using-scratch
la source
import
d'un fichier tar, sont les deux réponses canoniques, et ce lien est la ressource canonique.Si vous souhaitez créer votre propre image de base, je voudrais d'abord jeter un coup d'œil aux images officielles , en particulier à l'
stackbrew
intérieur de ce repo.Sinon, il existe de bonnes références pour des images de système d'exploitation minimales dans le référentiel docker lui-même.
Par exemple, voici un script pour créer une image d'arche minimale et il y en a plus ici .
la source