Compartir comentarios
Las respuestas se generan en base a la documentación.

Notas de la versión de Docker Engine 26.0

Tabla de contenidos

Esta página describe los cambios más recientes, adiciones, problemas conocidos y correcciones para Docker Engine versión 26.0.

Para obtener más información sobre:

26.0.2

2024-04-18

Para obtener una lista completa de las solicitudes de extracción (pull requests) y los cambios en esta versión, consulta los hitos (milestones) correspondientes en GitHub:

Seguridad

Esta versión contiene una corrección de seguridad para CVE-2024-32473, una configuración inesperada de IPv6 en interfaces que solo son IPv4.

Correcciones de errores y mejoras

26.0.1

2024-04-11

Para obtener una lista completa de las solicitudes de extracción y los cambios en esta versión, consulta los hitos correspondientes en GitHub:

Correcciones de errores y mejoras

  • Corregir una regresión que provocaba que las opciones --sysctl específicas de la interfaz de red impidieran el inicio del contenedor. moby/moby#47646
  • Eliminar el campo platform erróneo del descriptor OCI de config de imagen en la salida de docker save. moby/moby#47694
  • Almacén de imágenes de containerd: Los archivos OCI producidos por docker save ahora tendrán un campo mediaType no vacío en index.json. moby/moby#47701
  • Corregir una regresión que impedía que el resolvedor interno reenviara solicitudes de redes IPvlan L3 a resolvedores externos. moby/moby#47705
  • Impedir el uso de resolvedores externos en redes IPvlan y Macvlan creadas sin especificar una interfaz padre. moby/moby#47705

Actualizaciones de empaquetado

26.0.0

2024-03-20

Para obtener una lista completa de las solicitudes de extracción y los cambios en esta versión, consulta los hitos correspondientes en GitHub:

Seguridad

Esta versión contiene una corrección de seguridad para CVE-2024-29018, una posible filtración de datos de redes 'internas' a través de servidores DNS autoritativos.

Nuevas características

  • Añadir el campo Subpath a las VolumeOptions haciendo posible montar una subruta de un volumen. moby/moby#45687
  • Añadir soporte para volume-subpath a la bandera de montaje (--mount type=volume,...,volume-subpath=<subpath>). docker/cli#4331
  • Aceptar separadores = y [ipv6] en archivos compose para docker stack deploy. docker/cli#4860
  • rootless: Añadir soporte para habilitar el loopback del host estableciendo la variable de entorno DOCKERD_ROOTLESS_ROOTLESSKIT_DISABLE_HOST_LOOPBACK en false (por defecto es true). Esto permite que los contenedores se conecten al host usando la dirección IP 10.0.2.2. moby/moby#47352
  • Almacén de imágenes de containerd: docker image ls ya no crea entradas duplicadas para imágenes multiplataforma. moby/moby#45967
  • Almacén de imágenes de containerd: Enviar métricas de Prometheus. moby/moby#47555

Correcciones de errores y mejoras

  • CVE-2024-29018: No reenviar solicitudes a servidores DNS externos para un contenedor que solo está conectado a una red 'interna'. Anteriormente, las solicitudes se reenviaban si el servidor DNS del host se ejecutaba en una dirección de loopback, como 127.0.0.53 de systemd. moby/moby#47589

  • Asegurar que la dirección MAC generada no se restaure al reiniciar el contenedor, pero que se preserve la dirección MAC configurada. moby/moby#47233

    Warning

    Los contenedores creados con Docker Engine 25.0.0 pueden tener direcciones MAC duplicadas, deben volver a crearse. Los contenedores creados con la versión 25.0.0 o 25.0.1 con direcciones MAC definidas por el usuario obtendrán direcciones MAC generadas al iniciarse usando la 25.0.2. También deben volver a crearse.

  • Intentar siempre habilitar IPv6 en la interfaz de loopback de un contenedor, y solo incluir IPv6 en /etc/hosts si se realiza con éxito. moby/moby#47062

    Note

    Por defecto, IPv6 permanecerá habilitado en la interfaz de loopback de un contenedor cuando el contenedor no esté conectado a una red habilitada para IPv6. Por ejemplo, los contenedores que solo están conectados a una red que es solo IPv4 ahora tienen la dirección ::1 en su interfaz de loopback.

    Para deshabilitar IPv6 en un contenedor, utiliza la opción --sysctl net.ipv6.conf.all.disable_ipv6=1 en el comando create o run, o la opción equivalente de sysctls en la sección de configuración del servicio de un archivo Compose.

    Si IPv6 no está disponible en un contenedor porque se ha deshabilitado explícitamente para el contenedor, o la pila de red del host no tiene IPv6 habilitado (o por cualquier otra razón) el archivo /etc/hosts del contenedor no incluirá entradas de IPv6.

  • Corregir que la instrucción ADD del Dockerfile falle con lsetxattr <file>: operation not supported al desempaquetar un archivo con xattrs en un sistema de archivos que no los soporta. moby/moby#47175

  • Corregir que docker container start falle al usarse con --checkpoint. moby/moby#47456

  • Restaurar la conectividad IP entre el host y los contenedores en una red bridge interna. moby/moby#47356

  • No aplicar nuevas reglas de validación para redes swarm existentes. moby/moby#47361

  • Restaurar nombres DNS para contenedores en la red "nat" predeterminada en Windows. moby/moby#47375

  • Mostrar sugerencia al invocar docker image ls con un argumento ambiguo. docker/cli#4849

  • Limpiar archivos @docker_cli_[UUID] en OpenBSD. docker/cli#4862

  • Añadir un mensaje de aviso de depreciación explícito al usar conexiones TCP remotas sin TLS. docker/cli#4928, moby/moby#47556

  • Utilizar servidores de nombres IPv6 del archivo resolv.conf del host como resolvedores ascendentes para el DNS interno de Docker Engine, en lugar de listarlos en el archivo resolv.conf del contenedor. moby/moby#47512

  • Almacén de imágenes de containerd: Aislar imágenes con diferentes espacios de nombres de containerd cuando se utiliza la opción --userns-remap. moby/moby#46786

  • Almacén de imágenes de containerd: Corregir que la descarga de imágenes no emita el estado Pulling fs layer. moby/moby#47432

API

  • Para preservar la compatibilidad hacia atrás, los montajes de solo lectura no son recursivos por defecto al utilizar clientes más antiguos (versión de la API < v1.44). moby/moby#47391
  • GET /images/{id}/json omite el campo Created (anteriormente era 0001-01-01T00:00:00Z) si el campo Created falta en la configuración de la imagen. moby/moby#47451
  • Rellenar un campo Created faltante en GET /images/{id}/json con 0001-01-01T00:00:00Z para la versión de la API <= 1.43. moby/moby#47387
  • El campo is_automated en los resultados del endpoint POST /images/search ahora siempre es false. Como consecuencia, buscar is-automated=true no devolverá resultados, mientras que is-automated=false no tendrá ningún efecto. moby/moby#47465
  • Eliminar los campos Container y ContainerConfig de la respuesta GET /images/{name}/json. moby/moby#47430

Actualizaciones de empaquetado

Eliminado

  • Eliminar los campos Container y ContainerConfig de la respuesta GET /images/{name}/json. moby/moby#47430

  • Depreciar la capacidad de aceptar conexiones TCP remotas sin TLS. Aviso de depreciación docker/cli#4928 moby/moby#47556.

  • Eliminar las versiones depreciadas de la API (API < v1.24). moby/moby#47155

  • Deshabilitar por defecto la descarga de formatos de imagen depreciados. Estos formatos de imagen están depreciados y su soporte se eliminará en una versión futura. moby/moby#47459

  • image: eliminar el IDFromDigest depreciado. moby/moby#47198

  • Eliminar el paquete depreciado github.com/docker/docker/pkg/loopback. moby/moby#47128

  • pkg/system: eliminar los depreciados ErrNotSupportedOperatingSystem, IsOSSupported. moby/moby#47129

  • pkg/homedir: eliminar los depreciados Key() y GetShortcutString(). moby/moby#47130

  • pkg/containerfs: eliminar ResolveScopedPath depreciado. moby/moby#47131

  • La bandera del daemon --oom-score-adjust se deprecio en la v24.0 y ahora se ha eliminado. moby/moby#46113

  • Eliminar alias depreciados del paquete api/types. Estos tipos se depreciaron en la v25.0.0, que proporcionaba alias temporales. moby/moby#47148 Estos alias ahora se eliminan: types.Info, types.Commit, types.PluginsInfo, types.NetworkAddressPool, types.Runtime, types.SecurityOpt, types.KeyValue, types.DecodeSecurityOptions, types.CheckpointCreateOptions, types.CheckpointListOptions, types.CheckpointDeleteOptions, types.Checkpoint, types.ImageDeleteResponseItem, types.ImageSummary, types.ImageMetadata, types.ServiceUpdateResponse, types.ServiceCreateResponse, types.ResizeOptions, types.ContainerAttachOptions, types.ContainerCommitOptions, types.ContainerRemoveOptions, types.ContainerStartOptions, types.ContainerListOptions, types.ContainerLogsOptions

  • cli/command/container: eliminar el depreciado NewStartOptions(). docker/cli#4811

  • cli/command: eliminar los depreciados DockerCliOption, InitializeOpt. docker/cli#4810