Combinaison de plusieurs images Docker
La combinaison de plusieurs images Docker en une seule image unifiée n'est pas directement prise en charge par Docker. Cependant, il existe des outils tiers disponibles pour faciliter ce processus. DockerMake est l'un de ces outils qui permet la création de scénarios d'héritage d'images complexes.
Utilisation de DockerMake pour combiner des images
DockerMake fonctionne en utilisant un fichier YAML pour définir les relations entre Images Docker. Sur la base de la configuration YAML, DockerMake génère des fichiers Docker qui guident le processus de construction.
Par exemple, pour combiner une image Java et MySQL dans une nouvelle image nommée « SpecificAB », vous devez créer un fichier DockerMake.yml comme suit :
specificAB:
requires:
- genericA
- genericB
genericA:
requires:
- customBase
build_directory: [a local directory]
build: |
# Dockerfile commands specific to genericA
genericB:
requires:
- customBase
build: |
# Dockerfile commands specific to genericB
customBase:
FROM: Debian:jessie
build: |
# Dockerfile commands to set up the base image
Cette configuration établit la structure d'héritage suivante :
--> genericA -- / \ debian:jessie --> customBase ---> specificAB \ / --> genericB --
Création de l'image combinée
Pour créer l'image "spécifiqueAB" à l'aide de DockerMake, exécutez simplement la commande suivante :
docker-make specificAB
Conclusion
Bien que Docker ne le fasse pas fournissant directement un mécanisme intégré pour combiner des images, DockerMake offre une solution pratique et puissante pour réaliser cette fonctionnalité. En définissant des scénarios d'héritage complexes dans un fichier YAML, DockerMake rationalise le processus de création et de gestion d'images Docker combinées.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3