Construcción multietapa Docker
15 de marzo de 2022La construcción multietapa de Docker es una característica que puede facilitar la construcción de diferentes imágenes Docker basadas en la misma base. Así puedes preparar una imagen para diferentes propósitos. Y al mismo tiempo preparar eficientemente imágenes que contengan todo lo que necesitas siendo minimalistas.
Construcción multietapa
El principio de la construcción multietapa es que tienes una base común en un archivo de configuración y luego puedes crear diferentes imágenes docker basadas en eso.
Esto te permite agilizar y simplificar la creación de imágenes docker.
Imagen docker Ted para desarrollo, para pruebas o minimalista para producción.
Ejemplo
En este enlace.
ejemplo multietapa de docker.
Puedes usar este proyecto de demostración para probarlo, y esta guía también está escrita en base a él.
Este comando ejecutará la imagen de compilación para el objetivo "base":
docker build --target base ./
Sin embargo, es mejor nombrar la imagen directamente
docker build --target base ./ -t php-web-base
Build image para el target devel, al que llamaremos php-web-dev:
docker build --target devel ./ -t php-web-dev
Construye los contenedores que aparecen en el archivo docker-compose:
docker-compose -f docker-compose-prod.yml build
El contenido de docker-compose. El parámetro importante es el parámetro target, que especifica qué imagen construir y luego ejecutar.
version: '3.6' services: web: build: context: ./ objetivo: devel
Si tienes el contenedor construido y nombrado, puedes soltar la imagen docker y la consola shell como lo harías con cualquier otra imagen docker:
docker exec -it multistage-build_web_1 /bin/bash
Vídeo
Vídeo de demostración y explicación del funcionamiento de docker multistage build:
Recursos
Artículos sobre un tema similar
VMware frente a Proxmox: comparación de rendimiento
GitLab CI/CD: automatización de pruebas y despliegue de aplicaciones
Migración de VPS de VMware a Proxmox
Cambio en las licencias de VMware
Ejecución de Microsoft SQL Server en Linux
Copia de seguridad: el Proxmox Backup Server
Linux como router y cortafuegos
Cómo subir una imagen Docker al Registro Docker
Linux: gestión de volúmenes lógicos
Software RAID para Linux
Ejecutar una aplicación web detrás de un proxy
Migración de correo electrónico
Copia de seguridad de los datos al encender el ordenador
Podman
Importación de Windows a la virtualización Proxmox
Docker y correo PHP
Virtualización Proxmox
Docker y Cron
Lenovo ThinkPad X1 Carbon: puesta en servicio del módem LTE EM7544
Proyecto Yocto: Cree un sistema operativo personalizado para dispositivos integrados
Preparación de un servidor Linux para ejecutar una aplicación web en Python
Cómo solucionar el bajo rendimiento de los archivos compartidos en Docker
Cómo empezar a utilizar Docker correctamente
Instalación de Linux en un servidor HPE ProLiant DL320e dedicado
Cómo poner a prueba una aplicación web
Por qué utilizar el sistema de archivos JFS
Cómo arrancar desde un disco de 4TB con GTP usando UEFI
Sistema de archivos Btrfs
Raspberry PI
WINE - ejecución de programas Windous en Linux
Sistema operativo GNU/Linux
Boletin informativo
Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email
suscripción de noticias.
+