Hace algunos días los desarrolladores de Docker dieron a conocer una nueva versión de su software llegando este a la versión 18.09 con la cual se representa un avance significativo del motor de contenedores líder del mundo.
Con este nuevo lanzamiento de Docker los desarrolladores han introducido nuevas arquitecturas y características que mejoran el rendimiento del contenedor y aceleran la adopción para cada tipo de usuario de Docker, ya sea un desarrollador, un administrador de TI, trabajando en una startup o en Una gran empresa establecida.
Principales novedades de Docker 18.09
Docker acaba de lanzar la versión 18.09 para CE y EE con muchas características nuevas e interesantes y correcciones de errores.
De los principales puntos a destacar de este nuevo lanzamiento es que ahora se puede usar el motor BuildKit.
Este es un nuevo motor para construir y empaquetar software utilizando contenedores. Es un nuevo código base destinado a reemplazar los componentes internos de las características de compilación actuales en Moby Engine.
Las características específicas de la versión EE del motor Docker incluyen:
- Cumplimiento de FIPS agregado para Windows Server 2016 y versiones posteriores
- Docker Content Trust Enforcement para Enterprise Engine. Esto permite que Docker Engine – Enterprise ejecute contenedores no firmados por una organización específica.
También se puede destacar que se ha introducido una nueva directiva «#syntax», que permite incluir extensiones de análisis de Dockerfile.
Se agregó la capacidad de usar BuildKit sin incluir el modo experimental y se ha recibido una API actualizada a la versión 1.39.
Por otro lado, se agregó soporte para acceso remoto utilizando SSH y un nuevo comando «docker engine» para controlar el ciclo de vida de Docker Engine, que se ejecuta en un contenedor privilegiado separado basado en containererd.
Ciclo de desarrollo extendido
A partir de Docker 18.09, el tiempo de soporte de lanzamiento se ha incrementado de 4 a 7 meses debido a la modernización del ciclo de desarrollo de Docker Community Edition (los lanzamientos estables ahora se forman no una vez por trimestre, sino una vez cada seis meses).
Posibilidad de integrar Build-time secrets
Una de las complejidades al usar Dockerfiles siempre ha sido acceder a los recursos privados. Por lo que se si se necesitaba acceder a algún repositorio o servicio privado, realmente no existía una buena para lograrlo.
El comando de compilación Docker 18.09 viene con muchas actualizaciones nuevas. Lo más importante es que ahora se puede usar una implementación de backend completamente nueva proporcionada por el proyecto Moby BuildKit.
El backend de BuildKit viene con un montón de nuevas características, una de ellas es el soporte de secretos de construcción en Dockerfiles.
La implementación de Build secrets se basa en dos características nuevas proporcionadas por BuildKit. Una es la capacidad de usar frontends de constructor personalizados cargados de imágenes en el registro, y la otra es la posibilidad de usar montajes en RUNcomandos para Dockerfiles.
Mejoras en BuildKit
Docker 18.09 también incluye una nueva arquitectura de compilación que mejora el rendimiento, la administración del almacenamiento y la extensibilidad, al mismo tiempo que agrega algunas características nuevas e importantes:
Las mejoras de rendimiento BuildKit incluye un modelo rediseñado de concurrencia y almacenamiento en caché que lo hace mucho más rápido, más preciso y portátil.
Por ejemplo, cuando se prueba Dockerfile proyecto Moby conjunto de velocidad aumentado de 2 a 9,5 veces debido a la ejecución simultánea de varias etapas de montaje, haciendo caso omiso de los pasos no utilizados y los archivos de datos incrementales entre los conjuntos en vista del contexto.
Esta nueva implementación también soporta estos nuevos modelos operativos:
- Etapas paralelas de construcción
- Omitir etapas no utilizadas y archivos de contexto no utilizados
- Transferencia incremental de contexto entre compilaciones
De las demás características que se pueden destacar, encontramos:
- Bases de comandos bash y zsh de entrada actualizados.
- Se ha agregado un nuevo controlador de registro local, que permite que el registro se almacene en un archivo local. A diferencia de jsonfilelog, el nuevo controlador no está vinculado a un formato de registro específico.
- Se agregó soporte para usar el conjunto de direcciones global predeterminado.
- Basado en el Docker Engine 18.09, se formó un producto comercial Docker Enterprise 2.1, que incluye la entrega de complementos adicionales, soporte para el SLA ( Acuerdo de nivel de servicio ) y medios para verificar con firmas digitales.