Docker, une plate-forme de conteneurisation, permet l'isolation et le packaging d'applications avec leurs dépendances. Bien qu'il soit couramment utilisé pour gérer des images individuelles, il peut y avoir des scénarios dans lesquels vous devez combiner plusieurs images en une seule unité.
Envisagez un scénario dans lequel vous Vous disposez d'images Java et MySQL génériques et vous souhaitez créer une image unique combinant Java et MySQL. Ceci peut être réalisé en utilisant une approche modifiée qui implique DockerMake, un outil open source qui gère l'héritage des images.
DockerMake utilise un fichier YAML pour décrire la composition du image combinée. Le fichier DockerMake.yml décrit la hiérarchie d'héritage et les étapes de construction pour chaque image de composant. Voici un exemple de fichier DockerMake.yml qui combine les images GenericA, GenericB et CustomBase dans l'image SpecificAB :
specificAB: requires: - genericA - genericB genericA: requires: - customBase build_directory: [some local directory] build: | # Add Dockerfile commands here (e.g., ADD, RUN) genericB: requires: - customBase build: | # Additional Dockerfile commands (e.g., apt-get, ENV) customBase: FROM: debian:jessie build: | # Base image setup commands (e.g., apt-get update)
Pour créer l'image combinée à l'aide de DockerMake, suivez ces étapes :
Ce processus génère les fichiers Docker nécessaires basés sur le fichier DockerMake.yml et construit l'image combinée. L'image résultante, dans ce cas spécifiqueAB, possédera les fonctionnalités des images génériquesA et génériquesB, fournissant une seule unité avec la pile d'applications souhaitée.
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