Combinación de varias imágenes de Docker
La combinación de varias imágenes de Docker en una única imagen unificada no es compatible directamente con Docker. Sin embargo, existen herramientas de terceros disponibles para facilitar este proceso. DockerMake es una de esas herramientas que permite la creación de escenarios complejos de herencia de imágenes.
Uso de DockerMake para combinar imágenes
DockerMake funciona utilizando un archivo YAML para definir las relaciones entre Imágenes acoplables. Según la configuración de YAML, DockerMake genera Dockerfiles que guían el proceso de compilación.
Por ejemplo, para combinar una imagen de Java y MySQL en una nueva imagen llamada "specificAB", crearía un archivo DockerMake.yml de la siguiente manera :
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
Esta configuración establece la siguiente estructura de herencia:
--> genericA -- / \ debian:jessie --> customBase ---> specificAB \ / --> genericB --
Construyendo la imagen combinada
Para construir la imagen "AB específica" usando DockerMake, simplemente ejecute el siguiente comando:
docker-make specificAB
Conclusión
Mientras Docker lo hace DockerMake no proporciona directamente un mecanismo incorporado para combinar imágenes, pero ofrece una solución conveniente y poderosa para lograr esta funcionalidad. Al definir escenarios de herencia complejos en un archivo YAML, DockerMake agiliza el proceso de creación y administración de imágenes Docker combinadas.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3