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

Notas de la versión de Docker Engine versión 29

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

Para obtener más información sobre:

29.5.1

2026-05-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 incluye correcciones para múltiples vulnerabilidades de seguridad que afectan a Docker Engine.

  • CVE-2026-41567 Corregir una vulnerabilidad en docker cp por la cual los binarios de descompresión de archivos (p. ej., xz, unpigz) se resolvían a través de la variable PATH dentro del sistema de archivos del contenedor mientras se ejecutaba con privilegios de root del host, permitiendo a un contenedor malicioso ejecutar binarios arbitrarios con privilegios de root del host.
    GHSA-x86f-5xw2-fm2r

  • CVE-2026-41568 Corregir una vulnerabilidad TOCTOU en docker cp que permitía a un proceso de contenedor crear archivos o directorios en ubicaciones arbitrarias del sistema de archivos del host.
    GHSA-vp62-88p7-qqf5

  • CVE-2026-42306 Corregir una vulnerabilidad TOCTOU en docker cp que permitía a un proceso de contenedor redirigir un montaje bind a una ubicación arbitraria en el sistema de archivos del host.
    GHSA-rg2x-37c3-w2rh

Redes

  • Corregir que las entradas de conntrack UDP no se eliminaran cuando no estaban asociadas a una dirección IP específica. moby/moby#52640

29.5.0

2026-05-14

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

Note

Sin privilegios (Rootless): gvisor-tap-vsock es ahora el nuevo controlador de red sin privilegios predeterminado y debe preferirse sobre slirp4netns, el cual ya no se instala a través del empaquetado de Docker.

Nuevas características

  • Sin privilegios (Rootless): Añadir el nuevo controlador de red predeterminado gvisor-tap-vsock. moby/moby#52319
  • Habilitar el espacio de nombres de tiempo (time namespace) privado para contenedores por defecto en kernels compatibles. moby/moby#52326
  • El controlador de registro de logs local ahora tiene soporte para atributos personalizados, añadiendo soporte para las opciones de log label, label-regex, env, env-regex y tag. moby/moby#52348
  • Windows: El daemon ahora admite escuchar en un socket Unix (-H unix://...), con control de acceso opcional basado en grupos mediante --group. moby/moby#52365

Seguridad

  • CVE-2026-32288: Corregir una denegación de servicio por la cual la descarga de una imagen modificada con fines maliciosos podía causar que el daemon asignara memoria ilimitada al procesar archivos tar dispersos. GHSA-x4jj-h2v8-hqqv. moby/moby#52478

Correcciones de errores y mejoras

  • docker ps --format ahora admite un marcador de posición .HealthStatus para imprimir el estado de salud del contenedor (starting, healthy, unhealthy) como un campo dedicado. docker/cli#6913
  • Añadir la bandera de característica time-namespaces para desactivar los espacios de nombres de tiempo. moby/moby#52577
  • Integración de containerd: Corregir que las solicitudes de tokens de autenticación ignoraran los ajustes TLS por host (CAs personalizadas, registros no seguros). moby/moby#52600
  • Los eventos de recarga de configuración del daemon ahora indican que la recarga se ha completado por completo. moby/moby#52589
  • Exponer datos de diagnóstico sobre el proxy userland en docker info. moby/moby#52321
  • Corregir docker image ls --filter reference=... (GET /images/json) para que también coincida con nombres de imagen canónicos completamente calificados (p. ej., docker.io/library/alpine), no solo con la forma corta familiar. moby/moby#52333
  • Corregir un error por el cual salir de un swarm con autolock habilitado podía dejar un estado huérfano, haciendo que el inicio del swarm posterior fallara con "Swarm is encrypted and needs to be unlocked". moby/moby#52479
  • Corregir un problema por el cual los errores de registro de logs aparecían como cadenas vacías en el log del daemon en lugar del mensaje que no se pudo escribir. moby/moby#52442
  • Corregir informes incorrectos de SHARED SIZE y UNIQUE SIZE en docker system df -v al incluir blobs de contenido compartido en el cálculo del tamaño. moby/moby#52482
  • Corregir el soporte para especificaciones CDI que solicitan IDs de grupo adicionales. moby/moby#52579
  • Corregir que los montajes de archivos de subruta de volumen sobre un archivo existente en la imagen fallaran en la creación del contenedor con "not a directory". moby/moby#52584
  • Ordenar etiquetas en los formateadores de volume, network, config y secret para obtener salidas deterministas. docker/cli#6954
  • Swarm: Evitar la corrupción de las instantáneas (snapshots) de Raft cuando el estado del swarm es grande. moby/moby#52441

Actualizaciones de empaquetado

Redes

  • Corregir que las entradas de conntrack se eliminaran incorrectamente para contenedores UDP que comparten el mismo puerto en diferentes IPs cuando se reinicia un contenedor. moby/moby#52423
  • Corregir que los registros DNS VIP obsoletos para los alias de red del servicio de swarm no se eliminaran durante las actualizaciones continuas. moby/moby#52236
  • Corregir que el proxy userland descarte silenciosamente datagramas UDP cuando una escritura anterior en un backend no disponible dejaba un error ECONNREFUSED obsoleto en el socket. moby/moby#52483
  • Sin privilegios (Rootless): Soportar adecuadamente --net=host y registros locales. moby/moby#47103

Sin privilegios (Rootless)

SDK de Go

  • cli/config/configfile: GetAuthConfig, GetCredentialsStore: normalizar el nombre de host al resolver la autenticación. docker/cli#6846

Depreciaciones

  • cli/command/image/build: eliminar la constante depreciada DefaultDockerfileName. docker/cli#6737
  • cli/command/image/build: eliminar la utilidad depreciada DetectArchiveReader. docker/cli#6737
  • cli/command/image/build: eliminar la utilidad depreciada IsArchive. docker/cli#6737
  • cli/command/image/build: eliminar la utilidad depreciada ResolveAndValidateContextPath. docker/cli#6737
  • cli/command/image/build: eliminar la utilidad depreciada WriteTempDockerfile. docker/cli#6737

29.4.3

2026-05-06

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

  • CVE-2026-31431: Reemplazar la denegación de seccomp socketcall(2) que rompía los programas de 32 bits con reglas dirigidas de AppArmor (denegar red alg) y SELinux (alg_socket) que bloquean AF_ALG en la capa LSM, cubriendo tanto las rutas de socket(2) como de socketcall(2) sin interrumpir las cargas de trabajo legítimas de 32 bits. moby/moby#52537

    En sistemas basados en SELinux, la mitigación de SELinux requiere que el daemon se configure con selinux-enabled: true (a través de daemon.json o la bandera de CLI --selinux-enabled). Esta opción no está habilitada por defecto.

  • Corregir que el perfil AppArmor predeterminado no se actualice al reiniciar el daemon, requiriendo un reinicio del sistema para aplicar los cambios del perfil de las actualizaciones del daemon. moby/moby#52537

29.4.2

2026-05-01

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 incluye mejoras de seguridad para CVE-2026-31431.

  • Bloquear sockets AF_ALG y el multiplexor socketcall(2) en el perfil seccomp predeterminado para evitar escaladas de privilegios dentro del contenedor a través de la API criptográfica del kernel ("Copy Fail"). moby/moby#52501

Problemas conocidos

Estas restricciones pueden romper programas de 32 bits e imágenes i386, incluyendo SteamCMD y algunas cargas de trabajo basadas en Wine. moby/moby#52506

Solución temporal

Warning

No utilices --security-opt seccomp=unconfined para solucionar este problema.
No utilices el perfil seccomp/v0.2.0.

Si necesitas una solución temporal, utiliza el perfil seccomp/v0.2.1 de moby/profiles. Asegúrate de utilizar un kernel que incluya la corrección para CVE-2026-31431.

Este perfil desbloquea socketcall mientras mantiene AF_ALG bloqueado para socket.

Important

Utiliza esta solución alternativa solo para contenedores que la requieran.
Los contenedores que utilizan este perfil aún pueden explotar CVE-2026-31431 a través de la llamada al sistema socketcall.

Descarga el perfil seccomp/v0.2.1:

$ curl -fsSL https://raw.githubusercontent.com/moby/profiles/refs/tags/seccomp/v0.2.1/seccomp/default.json \
  -o /etc/docker/seccomp-profile-v0.2.1.json

Utiliza una de estas opciones. No necesitas ambas.

  1. Para usar el perfil en un contenedor específico cuando controlas el comando docker run, utiliza --security-opt:
$ docker run --security-opt seccomp=<path> ...
  1. Para usar el perfil como predeterminado para los contenedores creados por el daemon, añade seccomp-profile a tu daemon.json:
{
  "seccomp-profile": "/etc/docker/seccomp-profile-v0.2.1.json"
}

29.4.1

2026-04-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:

Correcciones de errores y mejoras

  • Almacén de imágenes de containerd: Corregir que docker image prune --filter label!=key=value omitiera incorrectamente las imágenes que no tienen la etiqueta especificada. moby/moby#52338
  • Corregir que --log-opt "tag={{.ImageID}}" no eliminara el algoritmo del resumen (digest). moby/moby#52343
  • Corregir fallos intermitentes al iniciar contenedores (error EBUSY al volver a montar secretos/configuraciones) en nodos de Swarm ocupados reintentando el nuevo montaje de solo lectura. moby/moby#52235

Actualizaciones de empaquetado

Redes

  • Si un contenedor tiene un endpoint de solo IPv4 o de solo IPv6 con mayor "prioridad de puerta de enlace" que un endpoint de pila dual (dual stack), el endpoint de pila única ahora se utilizará como puerta de enlace predeterminada para su familia de direcciones. moby/moby#52328

29.4.0

2026-04-07

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

  • docker cp: reportar tanto el tamaño del contenido como el tamaño transferido. docker/cli#6800
  • Corregir que docker stats --all siga mostrando contenedores que fueron eliminados. docker/cli#6863
  • Corregir un error raro que podía causar que los contenedores no se pudieran eliminar. moby/moby#51724
  • Corregir que los contenedores con privilegios perdieran su perfil AppArmor explícito (--security-opt apparmor=<profile>) tras el reinicio del contenedor. moby/moby#52215
  • Mejorar el manejo de la salida de contenedores duplicados utilizando el estado de tarea activo de containerd (no marcas de tiempo). moby/moby#52156
  • Mejorar el rendimiento de la descarga y subida de imágenes habilitando HTTP keep-alive para conexiones de registro, evitando apretones de manos TCP y TLS redundantes. moby/moby#52198
  • Completados de la terminal: añadir completado para docker rm --link y excluir enlaces heredados para nombres de contenedor. docker/cli#6872
  • Completados de la terminal: no proporcionar completados que ya se hayan utilizado. docker/cli#6871
  • Actualizar runc (en binarios estáticos) a v1.3.5. moby/moby#52244
  • Windows: Corregir que DOCKER_TMPDIR no se respetara. moby/moby#52181

Actualizaciones de empaquetado

Redes

  • Evitar una caída del daemon durante el inicio después de actualizar si la configuración de un contenedor tiene una dirección IP con formato incorrecto. moby/moby#52275

Go SDK

  • cli/streams: Out, In: conservar el os.File original cuando esté disponible. docker/cli#6906
  • Actualizar la versión mínima de Go a go1.25. docker/cli#6897

Depreciaciones

  • SDK de Go: cli-plugins/hooks: depreciar HookMessage y renombrar a cli-plugins/hooks.Response. docker/cli#6859
  • SDK de Go: cli-plugins/hooks: depreciar HookType y renombrar a cli-plugins/hooks.ResponseType. docker/cli#6859
  • SDK de Go: cli-plugins/manager: depreciar HookPluginData y mover a cli-plugins/hooks.Request. docker/cli#6859

29.3.1

2026-03-25

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 incluye correcciones para múltiples vulnerabilidades de seguridad que afectan a Docker Engine y componentes relacionados.

  • CVE-2026-34040 Corregir una elusión de autorización en los plugins de AuthZ que podría permitir saltarse los plugins de autorización bajo condiciones específicas. GHSA-x744-4wpc-v9h2

  • CVE-2026-33997 Corregir un fallo en docker plugin install por el cual la validación de privilegios se podía eludir parcialmente, lo que potencialmente podía llevar a una escalada de privilegios no autorizada. GHSA-pxq6-2prw-chj9

  • CVE-2026-33748 Corregir una validación insuficiente de fragmentos de URL de Git #ref:subdir en BuildKit, lo que podría permitir el acceso a archivos fuera del alcance del repositorio previsto. GHSA-4vrq-3vrq-g6gg

  • CVE-2026-33747 Corregir una vulnerabilidad en BuildKit por la cual un frontend no confiable podía provocar que se escribieran archivos fuera del directorio de estado de BuildKit. GHSA-3c29-8rgm-jvjj

Correcciones de errores y mejoras

  • Corregir una caída del daemon durante docker build si .dockerignore contenía un patrón no válido. moby/moby#52214
  • Corregir un pánico cuando el cliente de containerd utiliza un flujo cerrado. moby/moby#52211

Actualizaciones de empaquetado

Go SDK

  • Añadir etiqueta de compilación faltante, que podía causar el error cannot range over 10 (untyped int constant) al importar el paquete cli/command. docker/cli#6884

29.3.0

2026-03-05

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

Nuevas características

  • Añadir la opción bind-create-src a la bandera --mount para montajes bind. docker/cli#6792
  • Los hooks de plugins de CLI ahora se disparan al fallar el comando (no solo al tener éxito), y los plugins pueden usar "error-hooks" para mostrar sugerencias solo cuando los comandos fallan. docker/cli#6794
  • Reducir la versión mínima de la API de v1.44 a v1.40 (Docker 19.03). moby/moby#52067

Actualizaciones de empaquetado

Redes

  • Corregir la corrupción de la configuración de DNS al recargar el daemon. moby/moby#52060

API

  • POST /networks/{id}/connect ahora aplica correctamente el campo MacAddress en EndpointSettings. Este campo se añadió en la API v1.44, pero anteriormente se ignoraba. moby/moby#52040
  • GET /images/json ahora admite un parámetro de consulta identity. Cuando se establece, la respuesta incluye resúmenes de manifiestos y puede incluir un campo Identity para cada manifiesto con información de identidad y origen de confianza. moby/moby#52030

Correcciones de errores y mejoras

  • La opción --gpus ahora utiliza la inyección basada en CDI para GPUs AMD. moby/moby#52048
  • Añadir notificaciones de sd_notify "RELOADING" al indicar al daemon que recargue su configuración. moby/moby#52041
  • Enviar sd_notify "READY" y "STOPPING" síncronamente para asegurar que se envíen antes de proceder. moby/moby#52041
  • Añadir soporte para el protocolo de recarga de servicios systemd 253 Type=notify-reload. moby/moby#52041
  • No registrar advertencias de "failed to determine if container is already mounted" para contenedores detenidos durante el inicio. moby/moby#52076
  • Corregir que docker system prune falle con "rw layer snapshot not found" cuando un contenedor se elimina concurrentemente. moby/moby#52090
  • Corregir un pánico al ejecutar docker top en un contenedor de Windows que no está en ejecución. moby/moby#52025
  • Corregir una regresión en la v29.2.0 que impedía registrar el servicio dockerd en Windows si los requisitos del sistema aún no estaban instalados. moby/moby#52006
  • Corregir la detección de montaje compartido para rutas montadas varias veces, lo que causaba errores de "not a shared mount" al usar la propagación bind. moby/moby#51787
  • Corregir advertencia falsa de "ShouldRestart failed" al apagar. moby/moby#52079
  • Preservar los espacios en blanco iniciales y finales al almacenar las contraseñas del registro. docker/cli#6784
  • Evitar registrar advertencias de "no encontrado" al calcular el tamaño de los volúmenes. moby/moby#52018
  • Actualizar el entorno de ejecución de Go a 1.25.7. moby/moby#52003, docker/cli#6780

29.2.1

2026-02-02

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

  • Actualizar BuildKit a v0.27.1. moby/moby#51962
  • Corregir que docker system df falle al ejecutarse concurrentemente con docker system prune. moby/moby#51979
  • Corregir el manejo del daemon de eventos de salida de contenedor duplicados para evitar limpiezas repetidas y transiciones de estado. moby/moby#51925
  • Corregir el pánico tras un inicio fallido del daemon. moby/moby#51943
  • Corregir que las redes overlay cifradas no pasen tráfico a los contenedores en Engines v28 y anteriores. Las redes overlay cifradas ya no pasarán tráfico a contenedores en las versiones v29.2.0 a v29.0.0, v28.2.2, v25.0.14 o v25.0.13. moby/moby#51951
  • Corregir un posible pánico en docker network prune. moby/moby#51966

29.2.0

2026-01-26

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

Nuevas características

Correcciones de errores y mejoras

  • Mejorar la validación de las opciones de línea de comandos --detach-keys. docker/cli#6742
  • Evitar un pánico potencial al apagar el daemon tras un inicio incompleto. moby/moby#51797
  • Eliminar la restricción sobre los volúmenes de solo lectura anónimos. moby/moby#51682
  • La bandera --validate en dockerd verifica ahora también los requisitos del sistema, lo que permite comprobar los requisitos del sistema antes de iniciar el daemon. moby/moby#51868
  • Manejar las solicitudes de --gpus para dispositivos NVIDIA utilizando CDI si es posible. moby/moby#50228

Actualizaciones de empaquetado

Sin privilegios (Rootless)

API

Go SDK

Depreciaciones

  • Eliminar %PROGRAMDATA%\Docker\cli-plugins de la lista de rutas utilizadas para plugins de la CLI en Windows. Esta ruta estaba presente por compatibilidad con instalaciones antiguas, pero fue reemplazada por %ProgramFiles%\Docker\cli-plugins. docker/cli#6713

29.1.5

2026-01-16

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:

Actualizaciones de empaquetado

Redes

  • Se corrigió una regresión por la cual las conexiones de red establecidas podían verse interrumpidas durante el período de gracia de apagado de un contenedor. moby/moby#51843

29.1.4

2026-01-08

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

Actualizaciones de empaquetado

29.1.3

2025-12-12

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

  • Añadir completado de la terminal para docker stack deploy --compose-file. docker/cli#6690
  • Almacén de imágenes de containerd: Corregir un error que causaba que docker build ignorara la opción del exportador de imágenes unpack establecida explícitamente. moby/moby#51514
  • Corregir el manejo de imágenes huérfanas (dangling) de docker image ls. docker/cli#6704
  • Corregir un error que podía causar que el Engine dejara los contenedores con autoremove establecido en estado 'dead' al apagar, y nunca los reclamara. moby/moby#51693
  • Corregir la compilación en i386. moby/moby#51528
  • Corregir que la configuración explícita de graphdriver ("storage-driver") sea tratada como containerd snapshotter cuando existe un estado de graphdriver previo. moby/moby#51516
  • Corregir la creación potencial de capas overlay2 huérfanas. moby/moby#51703

Redes

  • Permitir la creación de un contenedor con una dirección IP específica cuando sus redes no estaban configuradas con una subred específica. moby/moby#51583
  • No fallar al iniciar un contenedor creado a través de la API antes de la actualización a la v29.1.2, con PublishAll y un mapa PortBindings nulo. moby/moby#51691
  • Corregir un error que impedía la resolución de DNS de contenedores asociados a redes que no tienen el alcance de swarm una vez que el nodo se ha unido a un cluster de Swarm. moby/moby#51515
  • Corregir un problema que causaba la caída del daemon al usar un plugin de controlador de red remoto. moby/moby#51558
  • Corregir un problema que podía conducir a un error de "endpoint not found" al crear un contenedor con múltiples conexiones de red, cuando una de las redes no es interna pero no tiene su propia conectividad IP externa. moby/moby#51538
  • Corregir un problema que impedía que se iniciara Docker rootless en un host con IPv6 deshabilitado. moby/moby#51543
  • Devolver un error cuando un contenedor se crea con un mapeo de puertos que apunta al puerto de contenedor 0. moby/moby#51695

29.1.2

2025-12-02

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

  • Actualizar el entorno de ejecución de Go a 1.25.5. moby/moby#51648, docker/cli#6688
    • Corrige una posible DoS a través del uso excesivo de recursos al formatear errores de validación de nombres de host CVE-2025-61729
    • Corrige la aplicación incorrecta de las restricciones de subdominios excluidos para SANs comodín, lo que podría permitir certificados confiados incorrectamente CVE-2025-61727

Correcciones de errores y mejoras

  • Almacén de imágenes de containerd: Corregir que docker image inspect fallara al devolver los datos de imagen disponibles en caso de que no todos los blobs distribuibles estuvieran disponibles localmente. moby/moby#51629
  • dockerd-rootless-setuptool.sh: corregir error nsenter: no namespace specified. moby/moby#51622
  • Corregir que docker system df muestre N/A para el tamaño compartido y el tamaño único al utilizar graph-drivers como almacenamiento. moby/moby#51631

Actualizaciones de empaquetado

Redes

  • Corregir un error que impedía los mapeos de puertos en modo rootless cuando se utiliza slirp4netns. moby/moby#51616
  • Evitar una caída al realizar una solicitud a la API con HostConfig.PublishAllPorts establecido (-P), y sin asociaciones de puertos. moby/moby#51621

29.1.1

2025-11-28

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

Redes

  • Revertir un PR que rompía la resolución de DNS externa en todas las redes bridge personalizadas. moby/moby#51615

29.1.0

2025-11-27

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

Actualizaciones de empaquetado

Redes

  • No sobrescribir el archivo /etc/resolv.conf modificado por el usuario a lo largo de los reinicios de los contenedores. moby/moby#51507
  • Corregir --publish-all / -P para contenedores de Windows. moby/moby#51586
  • Corregir un problema que impedía el reinicio del contenedor o la reconexión de red cuando fallaba la configuración de la puerta de enlace durante la detención del contenedor o la desconexión de red. moby/moby#51592
  • Contenedores de Windows: no mostrar una dirección IPv4 asignada a IPv6 en las asociaciones de puertos. Por ejemplo, [::ffff:0.0.0.0]:8080->80/tcp en lugar de 0.0.0.0:8080->80/tcp. moby/moby#51587

29.0.4

2025-11-24

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

Redes

  • Permitir la creación de un contenedor con una dirección IP específica cuando sus redes no estaban configuradas con una subred específica. moby/moby#51583

29.0.3

2025-11-24

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

  • docker version --format json: restaurar el campo de nivel superior BuildTime para usar el formato RFC3339Nano. docker/cli#6668
  • Corregir que docker image ls ignore un imageFormat personalizado de docker.json. docker/cli#6667

Redes

  • Corregir un problema que causaba la caída del daemon al usar un plugin de controlador de red remoto. moby/moby#51558

29.0.2

2025-11-17

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

Redes

  • Corregir un problema que podía conducir a un error de "endpoint not found" al crear un contenedor con múltiples conexiones de red, cuando una de las redes no es interna pero no tiene su propia conectividad IP externa. moby/moby#51538
  • Corregir un problema que impedía que se iniciara Docker rootless en un host con IPv6 deshabilitado. moby/moby#51543

29.0.1

2025-11-14

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

  • docker image ls ya no trunca el ancho del nombre cuando la salida se redirige (p. ej., para grep). docker/cli#6656
  • docker image ls ahora considera la variable de entorno NO_COLOR para elegir la salida coloreada. docker/cli#6654
  • Almacén de imágenes de containerd: Corregir un error que causaba que docker build ignorara la opción del exportador de imágenes unpack establecida explícitamente. moby/moby#51514
  • Corregir un error que causaba que docker image ls --all no mostrara imágenes huérfanas (dangling)/sin etiquetar. docker/cli#6657
  • Corregir la compilación en i386. moby/moby#51528
  • Corregir que la configuración explícita de graphdriver ("storage-driver") sea tratada como containerd snapshotter cuando existe un estado de graphdriver previo. moby/moby#51516
  • Corregir el formato de salida de los campos ApiVersion y MinApiVersion en docker version --format=json para alinearse con versiones anteriores. docker/cli#6648

Redes

  • Corregir un error que impedía la resolución de DNS de contenedores asociados a redes que no tienen el alcance de swarm una vez que el nodo se ha unido a un cluster de Swarm. moby/moby#51515

29.0.0

2025-11-10

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

Caution

Esta versión incluye varios cambios incompatibles y depreciaciones. Revisa las notas de la versión cuidadosamente antes de actualizar.

  • El soporte experimental para nftables puede ahora habilitarse estableciendo la opción firewall-backend del daemon de Docker a nftables. Para obtener más información, consulta la documentación de Docker Engine.
  • El almacén de imágenes de containerd es ahora el predeterminado para instalaciones nuevas. Esto no se aplica a los daemons configurados con userns-remap (ver moby#47377).

Cambios incompatibles

  • El módulo Go github.com/docker/docker está depreciado en favor de github.com/moby/moby/client y github.com/moby/moby/api. El módulo github.com/moby/moby se considera un detalle de implementación interno; los únicos módulos públicos soportados son client y api. A partir de la v29, las versiones se etiquetan con el prefijo docker- (p. ej., docker-v29.0.0). Esto solo afecta a los usuarios de módulos Go y a los mantenedores de paquetes.
  • El daemon requiere ahora la versión de la API v1.44 o posterior (Docker v25.0+).
  • Los paquetes de Debian armhf (32 bits) están dirigidos ahora a CPUs ARMv7 y no funcionarán en dispositivos ARMv6.
  • Ya no se proporcionan paquetes oficiales de Raspbian (32 bits). Utiliza los paquetes Debian arm64 para dispositivos de 64 bits, o los paquetes Debian armhf para dispositivos ARMv7 de 32 bits.
  • cgroup v1 está depreciado. El soporte continúa hasta al menos mayo de 2029, pero migra a cgroup v2 tan pronto como sea posible. Ver moby#51111.
  • Docker Content Trust se eliminó de la CLI de Docker. Se puede compilar como un plugin independiente: https://github.com/docker/cli/blob/v29.0.0/cmd/docker-trust/main.go

Nuevas características

  • docker image load y docker image save admiten ahora la selección de múltiples plataformas mediante la bandera --platform (p. ej., docker image load --platform linux/amd64,linux/arm64 -i image.tar). docker/cli#6126
  • docker image ls utiliza ahora la nueva vista (como --tree pero colapsada) por defecto. docker/cli#6566
  • docker run --runtime <...> está ahora soportado en Windows. moby/moby#50546
  • GET /containers/json incluye ahora un campo Health que describe el estado de la comprobación de estado del contenedor. moby/moby#50281
  • Añadir el derecho (entitlement) device a la configuración del constructor. moby/moby#50386
  • Añadir soporte para las banderas memory-swap y memory-swappiness a los comandos docker service create y docker service update. docker/cli#6619
  • Permitir que la CLI de Docker establezca la variable de entorno GODEBUG cuando el par clave-valor ("GODEBUG":"...") existe dentro de los metadatos del contexto de Docker. docker/cli#6371

Correcciones de errores y mejoras

  • docker image ls --tree ordena ahora las imágenes alfabéticamente por nombre en lugar de por fecha de creación. docker/cli#6595
  • docker image ls ya no muestra imágenes huérfanas (dangling) por defecto si no se proporciona la bandera --all. docker/cli#6574
  • docker save: Corregir marcas de tiempo inconsistentes en los miembros del tar al exportar imágenes con el controlador de almacenamiento overlay2. moby/moby#51365
  • Añadir una nueva opción de logs para el controlador de logs fluentd (fluentd-read-timeout), que permite especificar los tiempos de espera de lectura para leer confirmaciones (acks) de las conexiones de fluentd. moby/moby#50249
  • Añadir completado de nombre de imagen para docker images. docker/cli#6452
  • Añadir completado en la terminal para docker inspect si se establece un --type. docker/cli#6444
  • Añadir completado en la terminal para los subcomandos de docker plugin. docker/cli#6445
  • api/types/container: hacer que ContainerState, HealthStatus sean tipos concretos. moby/moby#51439
  • El almacén de imágenes de containerd no está disponible temporalmente cuando la reasignación de userns está habilitada como solución temporal para moby#47377. moby/moby#51042
  • contrib: eliminar contrib/httpserver, que solo se utilizaba para pruebas de integración. moby/moby#50654
  • daemon: mejorar la validación de la opción --dns y el correspondiente campo "dns" en daemon.json. moby/moby#50600
  • dockerd-rootless.sh: si slirp4netns no está instalado, intentar usar pasta (passt). moby/moby#51149
  • Corregir el fallo de --mount type=image al montar la misma imagen múltiples veces en destinos diferentes. moby/moby#50268
  • Corregir que docker stats <container> no salga de forma ordenada. docker/cli#6582
  • Corregir un error que impedía que el servidor de la API se apagara rápidamente cuando hay una conexión abierta al endpoint /events. moby/moby#51448
  • Corregir un error por el cual la recolección de estadísticas del contenedor en modo "one-shot" no incluía el ID y el Nombre del contenedor. moby/moby#51302
  • Corregir un problema por el cual todas las tareas nuevas en el Swarm podían quedar atascadas en el estado PENDING para siempre después de escalar un servicio con preferencias de ubicación. moby/moby#50202
  • Corregir un problema por el cual los meta-encabezados personalizados no se pasaban cuando se utilizaba el almacén de imágenes de containerd. moby/moby#51024
  • Corregir que las solicitudes no se registraran cuando se ejecuta el daemon con --log-level=trace. moby/moby#50986
  • Corregir que los servicios de Swarm queden inaccesibles desde los puertos publicados tras una recarga de firewalld. moby/moby#50443
  • Mejorar los errores al fallar la conexión a la API para proporcionar más contexto al usuario. moby/moby#50285
  • Mejorar el completado en la terminal para los subcomandos docker secret y docker config. docker/cli#6446
  • Preferir el nombre explícito del controlador de dispositivo sobre las capacidades de GPU al seleccionar el controlador de dispositivo con docker run --gpus. moby/moby#50717
  • Actualizar runc a v1.3.3. moby/moby#51393
  • Actualizar la configuración interna TLS de SwarmKit para excluir suites de cifrado inseguras conocidas. moby/moby#51139
  • Windows: Corregir que BuildKit cree contenedores cuyo modo de aislamiento sea inconsistente con la configuración del daemon. moby/moby#50942

Actualizaciones de empaquetado

  • client: eliminar conjuntos de cifrado CBC heredados de la configuración del cliente. moby/moby#50126

  • contrib: eliminar editorconfig por no tener mantenimiento. moby/moby#50607

  • contrib: eliminar los archivos de resaltado de sintaxis de Dockerfile para nano y TextMate (tmbundle) por estar desactualizados y sin mantenimiento. moby/moby#50606

  • contrib: eliminar los scripts mkimage-xxx por no tener mantenimiento ni pruebas. moby/moby#50297

  • Si Docker se degrada a una versión que no tiene este soporte, la red quedará inservible, debiendo eliminarse y volver a crearse. moby/moby#50114

  • El controlador de red de overlay de Windows admite ahora la opción --dns. moby/moby#51229

  • Actualizar BuildKit a v0.25.2. moby/moby#51397

  • Actualizar containerd a v2.1.5. moby/moby#51409

    containerd v2.1.5 utiliza ahora el LimitNOFILE predeterminado de systemd para los contenedores, cambiando el límite de descriptores de archivos abiertos (ulimit -n) de 1048576 a 1024. Esto extiende a todos los contenedores un cambio introducido en Docker Engine v25.0 para los contenedores de compilación.

    Esto evita que los programas que ajustan su comportamiento basándose en ulimits consuman memoria excesiva cuando el límite se establece en infinity. Los contenedores se comportan ahora de la misma manera que los programas que se ejecutan en el host.

    Si tu carga de trabajo necesita un límite superior, utiliza --ulimit con docker run, o establece los valores predeterminados en /etc/docker/daemon.json:

    {
      "default-ulimits": {
        "nofile": {
          "Name": "nofile",
          "Soft": 1048576,
          "Hard": 1048576
        }
      }
    }

    Para obtener más información, consulta moby#51485.

  • Actualizar el entorno de ejecución de Go a 1.25.4. moby/moby#51418, docker/cli#6632

  • Los usuarios pueden solicitar un tamaño de prefijo específico para las redes asignadas a partir de los pools predeterminados utilizando la dirección no especificada, por ejemplo --subnet 0.0.0.0/24 --subnet ::/96. moby/moby#50114

Redes

  • Añadir la opción de daemon --bridge-accept-fwmark. Los paquetes con esta marca de cortafuegos serán aceptados por las redes bridge, anulando las reglas de "descarte" de iptables o nftables de Docker. moby/moby#50476
  • api/types/system: depreciar los campos de nivel superior DiskUsage en favor de campos específicos por tipo. moby/moby#51235
  • Asegurar que los dispositivos bridge se eliminen cuando falle la creación de la red bridge. moby/moby#51147
  • Asegurar que las redes Windows NAT se vuelvan a crear con sus etiquetas originales cuando se reinicie el motor. moby/moby#50447
  • Las variables de entorno establecidas en un contenedor utilizando enlaces (links) heredados están depreciadas y ya no se añaden automáticamente. moby/moby#50719
    • El daemon puede iniciarse con DOCKER_KEEP_DEPRECATED_LEGACY_LINKS_ENV_VARS=1 para recuperarlas.
    • Se anima a los usuarios a dejar de depender de ellas ya que están depreciadas, y la vía de escape se eliminará en una versión posterior.
  • Corregir un error en NetworkDB que a veces causaba que las entradas quedaran atascadas como eliminadas en algunos de los nodos, provocando problemas de conectividad entre contenedores en redes overlay. moby/moby#50342
  • Corregir un error que podía causar que el Engine y otro proceso del host se asociaran al mismo puerto UDP. moby/moby#50669
  • Corregir un bloqueo mutuo que podía ocurrir si se procesaba una recarga de firewalld mientras el controlador de red bridge se estaba iniciando, o creando o eliminando una red, o creando asociaciones de puertos. moby/moby#50620
  • Corregir un problema que impedía el inicio del contenedor o la selección de su puerta de enlace de red cuando IPv6 solo está desactivado en una interfaz específica. moby/moby#48971
  • Para Linux, docker info reporta ahora el backend del cortafuegos si está disponible. docker/cli#6191
  • Mejorar enormemente la confiabilidad de las redes overlay y de la malla de enrutamiento (routing mesh) de Swarm. moby/moby#50393
  • Mejorar la tasa de convergencia de NetworkDB, parte del plano de gestión para redes overlay, después de ráfagas de actualizaciones. moby/moby#50193
  • Mejorar la confiabilidad del controlador de red overlay. moby/moby#50260
  • Control de errores mejorado para la conexión de un contenedor a una red. moby/moby#50945
  • Redes macvlan e IPvlan-l2: no se configurará ninguna puerta de enlace predeterminada a menos que se incluya explícitamente un --gateway en la configuración de IPAM. Esto soluciona un problema que podía causar que fallara el inicio del contenedor en redes con la autoconfiguración de IPv6 habilitada. moby/moby#50929
  • nftables: Docker no habilitará el reenvío de IP en el host. Si el reenvío es necesario para una red bridge, pero no está habilitado, el inicio del daemon o la creación de la red fallarán con un error. Debes habilitar el reenvío y asegurarte de que las reglas del cortafuegos estén implementadas para evitar el reenvío no deseado entre interfaces que no sean de Docker. O bien, utiliza la opción del daemon --ip-forward=false para desactivar la comprobación, pero es posible que algunas funciones de la red bridge, incluido el reenvío de puertos, no funcionen. Consulta la documentación para obtener más información sobre la migración de iptables a nftables. moby/moby#50646
  • Al iniciar el daemon, reiniciar los contenedores que comparten sus pilas de red antes que los contenedores que necesitan esas pilas. moby/moby#50327
  • Los puertos publicados son ahora siempre accesibles en redes con modo de puerta de enlace "routed". Anteriormente, las reglas para abrir esos puertos solo se añadían cuando la red en modo routed se seleccionaba como la puerta de enlace predeterminada del contenedor. moby/moby#50140
  • Desde la versión 28.0.0, una regla de alteración (mangle) de iptables para el cálculo de suma de comprobación de SCTP solo se añadía si la variable de entorno DOCKER_IPTABLES_SCTP_CHECKSUM=1 estaba establecida. La regla ha sido eliminada y la variable de entorno ya no tiene efecto. moby/moby#50539
  • Las reglas de iptables para redes bridge han sido actualizadas, incluyendo la eliminación de las cadenas DOCKER-ISOLATION-STAGE-1 y DOCKER-ISOLATION-STAGE-2. Con estos cambios: moby/moby#49981
    • Los contenedores pueden acceder ahora a puertos publicados en direcciones del host por contenedores en otras redes cuando el proxy userland no se está ejecutando.
    • Los contenedores pueden acceder ahora a puertos en direcciones de contenedores en otras redes que tienen el modo de puerta de enlace "nat-unprotected".
  • Al enlazarse dinámicamente, el daemon de Docker depende ahora de libnftables. moby/moby#51033
  • Windows: network inspect: el nombre de la red HNS se reporta ahora en la opción com.docker.network.windowsshim.networkname en lugar del nombre de la red Docker, el cual solo se reportaba tras un reinicio del daemon. moby/moby#50961
  • Windows: al restaurar redes al reiniciar el daemon, conservar su asociación con controladores IPAM no predeterminados. moby/moby#50649

API

  • La API de events reporta ahora el tipo de contenido como application/x-ndjson para el flujo de eventos JSON delimitados por nuevas líneas. moby/moby#50953
  • GET /images/{name}/get y POST /images/load aceptan ahora múltiples parámetros de consulta platform, permitiendo la exportación y carga de imágenes para múltiples plataformas. moby/moby#50166
  • GET /images/{name}/json omite ahora los siguientes campos si su valor está vacío: Parent, Comment, DockerVersion, Author. moby/moby#51072
  • GET /images/{name}/json: omitir campos de Config vacíos cuando no estén establecidos. moby/moby#50915
  • POST /images/{name:}/push: eliminar la compatibilidad con auth-config en el cuerpo de la API v1.4. moby/moby#50371
  • Añadir soporte para la agresividad de intercambio de memoria (memory swappiness) en servicios de Swarm. moby/moby#51114
    • GET /services devuelve ahora los campos SwapBytes y MemorySwappiness como parte de los requisitos de Resource.
    • GET /services/{id} devuelve ahora los campos SwapBytes y MemorySwappiness como parte de los requisitos de Resource.
    • POST /services/create acepta ahora los campos SwapBytes y MemorySwappiness como parte de los requisitos de Resource.
    • POST /services/{id}/update acepta ahora los campos SwapBytes y MemorySwappiness como parte de los requisitos de Resource.
    • GET /tasks devuelve ahora los campos SwapBytes y MemorySwappiness como parte de los requisitos de Resource.
    • GET /tasks/{id} devuelve ahora los campos SwapBytes y MemorySwappiness como parte de los requisitos de Resource.
  • api/types/build: mover el tipo CachePruneOptions a client.BuildCachePruneOptions. moby/moby#50772
  • api/types/checkpoint: mover las opciones de punto de control al módulo client. moby/moby#50905
  • api/types/container: OnBuild se omitirá ahora si su valor está vacío o es cero. moby/moby#51154
  • api/types/container: hacer obsoleta la dirección MacAddress de la configuración del contenedor para la versión v1.52 en adelante. Utiliza en su lugar los ajustes de endpoint de red. moby/moby#51189
  • api/types/container: mover el tipo ResizeOptions a ContainerResizeOptions en el cliente. moby/moby#50773
  • api/types/events: mover el tipo ListOptions a EventsListOptions del cliente. moby/moby#50774
  • api/types/image: mover las opciones de imagen al cliente. moby/moby#50776
  • api/types/network: mover CreateOptions, ConnectOptions y DisconnectOptions al módulo client. moby/moby#50817
  • api/types/network: mover los tipos ListOptions e InspectOptions al cliente. moby/moby#50786
  • api/types/plugin: cambiar ListResponse a una porción (slice) que no sea un puntero. moby/moby#51440
  • api/types/plugin: eliminar el depreciado Config.DockerVersion. moby/moby#51458
  • api/types/registry: mover SearchOptions a ImageSearchOptions en el cliente. moby/moby#50787
  • api/types/registry: mover el soporte de serialización del campo heredado ServiceConfig al backend del daemon. moby/moby#50826
  • api/types/registry: mover las funciones de codificación/decodificación de la configuración de autenticación al paquete de utilidades de referencia. moby/moby#50785
  • api/types/storage: añadir el tipo Storage e integrar en la inspección de contenedores. moby/moby#50857
  • api/types/swarm: depreciar y abandonar el soporte para PortConfigProtocol; utilizar network.IPProtocol en su lugar. moby/moby#51094
  • api/types/swarm: mover los tipos de opciones al módulo client. moby/moby#50794
  • api/types/swarm: mover el tipo SecretListOptions al módulo client. moby/moby#50816
  • api/types/system: mover DiskUsageOptions al cliente. moby/moby#50788
  • api/types/system: mover SecurityOpt y DecodeSecurityOptions al módulo client. moby/moby#50825
  • api/types/volume: cambiar ListResponse.Volumes a una porción (slice) que no sea un puntero. moby/moby#51454
  • api/types/volume: mover el tipo ListOptions al módulo client. moby/moby#50789
  • api/types/volume: mover UpdateOptions al módulo client. moby/moby#51205
  • api/types: daemon: mover las estructuras de uso del disco al servidor del backend. moby/moby#50764
  • api: hacer opcional el campo GraphDriver en image.InspectResponse. Este campo se seguirá emitiendo al utilizar los controladores gráficos heredados y se omitirá al utilizar el backend de imágenes de containerd. moby/moby#50893
  • api: redefinir los tipos de puerto de red de contenedores. moby/moby#50710
  • client: PluginListResult: cambiar el campo Items a una porción (slice) que no sea un puntero. moby/moby#51440
  • Inspeccionar redes con la API v1.52 y posteriores proporciona estadísticas sobre las asignaciones de IPAM para las subredes asociadas a la red. moby/moby#50917
  • Los campos de dirección MAC se representan como porciones de bytes compatibles con el tipo de la biblioteca estándar net.HardwareAddr en lugar de cadenas. moby/moby#51355
  • Se han añadido definiciones de Swagger para NetworkSummary y NetworkInspect a la especificación Swagger que describe la API del Engine. moby/moby#50855
  • Actualizar la versión de la API a 1.52. moby/moby#50418

Go SDK

  • Se han eliminado api/pkg/progress y api/pkg/streamformatter. moby/moby#51153
  • api/types/registry: EncodeAuthConfig: utilizar cadena vacía para el valor cero. moby/moby#50426
  • api/types/versions se ha movido al cliente y al daemon. moby/moby#51284
  • Los métodos client.ConfigCreate, client.ConfigList, client.ConfigInspectWithRaw, client.ConfigUpdate y client.ConfigRemove aceptan ahora estructuras de opciones en lugar de argumentos posicionales, y devuelven estructuras de resultados dedicadas. moby/moby#51078
  • Los métodos client.ImageBuild, client.BuildCancel, client.ImageList, client.ImageRemove, client.ImageTag y client.ImageSearch aceptan ahora estructuras de opciones en lugar de argumentos posicionales, y devuelven estructuras de resultados dedicadas. moby/moby#51227
  • client: los métodos ContainerExec... han sido renombrados a Exec.... moby/moby#51262
  • client: envolver los valores de retorno de ImageInspect, ImageHistory, ImageLoad e ImageSave en una estructura. moby/moby#51236
  • ImagePull devuelve ahora un objeto con el método JSONMessages que devuelve un iterador sobre los objetos de mensaje. moby/moby#50935
  • ImagePush devuelve ahora un objeto con el método JSONMessages que devuelve un iterador sobre los objetos de mensaje. moby/moby#51148
  • api/types/container: mover el tipo StatsResponseReader al paquete client. moby/moby#50521
  • api/types/container: mover las opciones del contenedor al cliente. moby/moby#50897
  • api/types/container: renombrar Port a PortSummary. moby/moby#50711
  • api/types/container: StatsResponse: añadir el campo OSType. moby/moby#51305
  • api/types: mover ErrorResponse a common/ErrorResponse. moby/moby#50632
  • api: eliminar las constantes no utilizadas DefaultVersion, MinSupportedAPIVersion. moby/moby#50587
  • cli/command: añadir la opción WithUserAgent. docker/cli#4574
  • client: ContainerCommitOptions: eliminar el campo Pause en favor de NoPause. moby/moby#51019
  • client: añadir la constante DefaultAPIVersion, que define la versión de API predeterminada (y máxima) soportada por el cliente. moby/moby#50433
  • client: añadir la interfaz ExecAPIClient para los métodos exec proporcionados por el cliente. moby/moby#50997
  • client: Client.PluginList: añadir estructura de opciones. moby/moby#51207
  • client: ContainersPrune: reescribir para usar estructuras de opciones y resultados. moby/moby#51200
  • client: ImagesPrune: reescribir para usar estructuras de opciones y resultados. moby/moby#51200
  • client: NetworksPrune: reescribir para usar estructuras de opciones y resultados. moby/moby#51200
  • client: eliminar el campo client.ContainerStatsResult.OSType. moby/moby#51305
  • client: VolumesPrune: reescribir para usar estructuras de opciones y resultados. moby/moby#51200
  • daemon/config: añadir la constante DefaultAPIVersion, que define la versión de API predeterminada (y máxima) soportada por el daemon. moby/moby#50436
  • Corregir carrera de datos en ContainerExecStart, ContainerList y Events. moby/moby#50448
  • Las direcciones IP y subredes son ahora de tipo netip.Addr y netip.Prefix, respectivamente. moby/moby#50956
  • Eliminar las estructuras NetworkSettingsBase y DefaultNetworkSettings. Los campos de NetworkSettingsBase que no estaban depreciados se encuentran ahora directamente en NetworkSettings. moby/moby#50846
  • El cliente utiliza ahora su propio tipo client.Filters para filtrar las solicitudes de la API, con una interfaz más ergonómica. Los usuarios del paquete github.com/docker/docker/api/types/filters deberán refactorizar su código al actualizar al cliente v29. moby/moby#51115
  • Los tipos "github.com/moby/moby/api/types/network".Summary y "github.com/moby/moby/api/types/network".Inspect ya no son alias, y la mayoría de sus campos se han movido a una estructura incrustada. Los clientes de la API del Engine pueden requerir algunos cambios a nivel de código fuente al migrar al nuevo módulo github.com/moby/moby/api. moby/moby#50878
  • Actualizar la versión mínima de Go a 1.24. docker/cli#6624

Depreciaciones

  • client/pkg/jsonmessage: eliminar los depreciados ProgressMessage, ErrorMessage, DisplayJSONMessagesToStream y la interfaz Stream. moby/moby#49264
  • GET /events ya no incluye los campos depreciados status, id y from. Estos campos se eliminaron en la API v1.22, pero aún se incluían en la respuesta. Ahora se omiten al utilizar la API v1.52 o posterior. moby/moby#50832
  • api/types/network: CreateRequest: eliminar el campo depreciado CheckDuplicate. moby/moby#50998
  • api/types/plugin: depreciar el campo Config.DockerVersion. moby/moby#51109
  • api/types/registry: eliminar el campo depreciado AuthConfig.Email. moby/moby#51059
  • api/types/strslice: depreciar StrSlice en favor del uso de un []string normal. moby/moby#50292
  • api/types/system: eliminar el depreciado DiskUsage.BuilderSize. moby/moby#51180
  • api/types: mover los tipos de plugin a api/types/plugin. moby/moby#48114
  • API: Depreciación: el Engine rellenaba automáticamente las listas vacías de PortBindings con un PortBinding con HostIP y HostPort vacíos al iniciar un contenedor. Este comportamiento está depreciado para la API 1.52, y se abandonará en la API 1.53. moby/moby#50874
  • build: eliminar soporte DCT para el constructor clásico. docker/cli#6195
  • cli/command: eliminar el depreciado ResolveDefaultContext. docker/cli#6555
  • client: ImageBuildResponse: eliminar el campo OSType. moby/moby#50995
  • client: eliminar el método ImageCreate; utilizar ImagePull o ImageImport en su lugar. moby/moby#51366
  • client: eliminar el depreciado ImageListOptions.ContainerCount. moby/moby#51006
  • client: eliminar soporte para negociar versiones de la API < v1.44 (Docker 25.0). moby/moby#51119
  • client: eliminar el método no utilizado Client.HTTPClient(). moby/moby#51011
  • daemon/graphdriver: eliminar el depreciado GetDriver(). moby/moby#50377
  • daemon: aumentar la versión mínima de la API a v1.44. moby/moby#51186
  • Depreciar la bandera --pause en docker commit en favor de --no-pause. docker/cli#6460
  • Depreciar cgroup v1. moby/moby#51360, docker/cli#6598
  • SDK de Go: cli-plugins/manager: depreciar los alias de metadatos en favor de su equivalente en cli-plugins/manager/metadata. docker/cli#6237
  • SDK de Go: cli-plugins/manager: eliminar la interfaz Candidate, la cual era solo para uso interno. docker/cli#6237
  • SDK de Go: cli-plugins/manager: eliminar la función NewPluginError, la cual era solo para uso interno. docker/cli#6237
  • SDK de Go: cli-plugins/manager: eliminar la constante depreciada ResourceAttributesEnvvar. docker/cli#6237
  • SDK de Go: cli/command: eliminar las utilidades ErrPromptTerminated, DisableInputEcho, PromptForInput y PromptForConfirmation. Estas utilidades eran para uso interno y ya no se utilizan. docker/cli#6243
  • SDK de Go: cli/registry/client: eliminar la utilidad depreciada RepoNameForReference. docker/cli#6206
  • SDK de Go: api/types/build: eliminar el campo depreciado BuildCache.Parent. moby/moby#51185
  • SDK de Go: api/types/container: eliminar el alias depreciado ContainerTopOKBody. moby/moby#50400
  • SDK de Go: api/types/container: eliminar el alias depreciado ContainerUpdateOKBody. moby/moby#50400
  • SDK de Go: api/types/container: eliminar el tipo depreciado Stats. moby/moby#50492
  • SDK de Go: api/types/filters: eliminar el depreciado ToParamWithVersion. moby/moby#50561
  • SDK de Go: api/types/image: InspectResponse: eliminar los campos depreciados VirtualSize, Container, ContainerConfig, Parent y DockerVersion. moby/moby#51103
  • SDK de Go: api/types/image: eliminar el campo depreciado Summary.VirtualSize. moby/moby#51190
  • SDK de Go: api/types/registry: eliminar los campos depreciados ServiceConfig.AllowNondistributableArtifactsCIDRs y ServiceConfig.AllowNondistributableArtifactsHostnames. moby/moby#50375
  • SDK de Go: api/types/swarm: eliminar el campo depreciado ServiceSpec.Networks. moby/moby#51184
  • SDK de Go: api/types/system: eliminar el campo depreciado Commit.Expected. moby/moby#51127
  • SDK de Go: api/types: eliminar alias depreciados. moby/moby#50452
  • SDK de Go: api: depreciar la constante NoBaseImageSpecifier. Esta constante ya no se utiliza y se eliminará en la próxima versión. moby/moby#50437
  • SDK de Go: api: eliminar NoBaseImageSpecifier. moby/moby#50574
  • SDK de Go: cli/command/builder: eliminar CachePrune(), que ya no se utilizaba. docker/cli#6236
  • SDK de Go: cli/command/builder: eliminar NewBuilderCommand y NewBakeStubCommand. docker/cli#6335
  • SDK de Go: cli/command/checkpoint: eliminar NewCheckpointCommand. docker/cli#6335
  • SDK de Go: cli/command/checkpoint: eliminar los depreciados NewFormat, FormatWrite. docker/cli#6339
  • SDK de Go: cli/command/completion: eliminar el depreciado NoComplete. docker/cli#6408
  • SDK de Go: cli/command/config: eliminar NewConfigCommand. docker/cli#6335
  • SDK de Go: cli/command/config: eliminar los depreciados NewFormat, FormatWrite, InspectFormatWrite. docker/cli#6339
  • SDK de Go: cli/command/config: eliminar los depreciados RunConfigCreate, CreateOptions, RunConfigInspect, InspectOptions, RunConfigList, ListOptions, RunConfigRemove y RemoveOptions. docker/cli#6370
  • SDK de Go: cli/command/container: depreciar NewDiffFormat, DiffFormatWrite. Estas funciones se utilizaron solo internamente y se eliminarán en la próxima versión. docker/cli#6187
  • SDK de Go: cli/command/container: eliminar NewBuildCommand, NewPullCommand, NewPushCommand, NewImagesCommand, NewImageCommand, NewHistoryCommand, NewImportCommand, NewLoadCommand, NewRemoveCommand, NewSaveCommand, NewTagCommand, NewPruneCommand. docker/cli#6335
  • SDK de Go: cli/command/container: eliminar NewRunCommand, NewExecCommand, NewPsCommand, NewContainerCommand, NewAttachCommand, NewCommitCommand, NewCopyCommand, NewCreateCommand, NewDiffCommand, NewExportCommand, NewKillCommand, NewLogsCommand, NewPauseCommand, NewPortCommand, NewRenameCommand, NewRestartCommand, NewRmCommand, NewStartCommand, NewStatsCommand, NewStopCommand, NewTopCommand, NewUnpauseCommand, NewUpdateCommand, NewWaitCommand, NewPruneCommand. docker/cli#6335
  • SDK de Go: cli/command/container: eliminar RunPrune(), que ya no se utilizaba. docker/cli#6236
  • SDK de Go: cli/command/container: eliminar los depreciados NewDiffFormat, DiffFormatWrite. docker/cli#6339
  • SDK de Go: cli/command/context: eliminar NewContextCommand. docker/cli#6335
  • SDK de Go: cli/command/context: eliminar los depreciados RunCreate y CreateOptions. docker/cli#6407
  • SDK de Go: cli/command/context: eliminar los depreciados RunExport y ExportOptions. docker/cli#6407
  • SDK de Go: cli/command/context: eliminar el depreciado RunImport. docker/cli#6407
  • SDK de Go: cli/command/context: eliminar los depreciados RunRemove y RemoveOptions. docker/cli#6407
  • SDK de Go: cli/command/context: eliminar los depreciados RunUpdate y UpdateOptions. docker/cli#6407
  • SDK de Go: cli/command/context: eliminar el depreciado RunUse. docker/cli#6407
  • SDK de Go: cli/command/formatter/swarm: eliminar la función depreciada GetStacks. docker/cli#6406
  • SDK de Go: cli/command/image/build: depreciar DefaultDockerfileName, DetectArchiveReader, WriteTempDockerfile, ResolveAndValidateContextPath. Estas utilidades solo se utilizaron internamente y se eliminarán en la próxima versión. docker/cli#6561
  • SDK de Go: cli/command/image: eliminar RunPrune(), que ya no se utilizaba. docker/cli#6236
  • SDK de Go: cli/command/image: eliminar la utilidad depreciada AuthResolver. docker/cli#6373
  • SDK de Go: cli/command/image: eliminar los depreciados NewHistoryFormat, HistoryWrite. docker/cli#6339
  • SDK de Go: cli/command/manifest: eliminar NewManifestCommand. docker/cli#6335
  • SDK de Go: cli/command/network: eliminar NewNetworkCommand. docker/cli#6335
  • SDK de Go: cli/command/network: eliminar RunPrune(), que ya no se utilizaba. docker/cli#6236
  • SDK de Go: cli/command/network: eliminar los depreciados NewFormat, FormatWrite. docker/cli#6339
  • SDK de Go: cli/command/node: eliminar NewNodeCommand. docker/cli#6335
  • SDK de Go: cli/command/node: eliminar los depreciados NewFormat, FormatWrite, InspectFormatWrite. docker/cli#6339
  • SDK de Go: cli/command/plugin: eliminar NewPluginCommand. docker/cli#6335
  • SDK de Go: cli/command/plugin: eliminar los depreciados NewFormat, FormatWrite. docker/cli#6339
  • SDK de Go: cli/command/registry: eliminar NewLoginCommand, NewLogoutCommand, NewSearchCommand. docker/cli#6335
  • SDK de Go: cli/command/registry: eliminar los depreciados NewSearchFormat, SearchWrite. docker/cli#6339
  • SDK de Go: cli/command/registry: eliminar la constante depreciada OauthLoginEscapeHatchEnvVar. docker/cli#6463
  • SDK de Go: cli/command/secret: eliminar NewSecretCommand. docker/cli#6335
  • SDK de Go: cli/command/secret: eliminar los depreciados NewFormat, FormatWrite, InspectFormatWrite. docker/cli#6339
  • SDK de Go: cli/command/service: eliminar NewServiceCommand. docker/cli#6335
  • SDK de Go: cli/command/service: eliminar los depreciados NewFormat, InspectFormatWrite. docker/cli#6339
  • SDK de Go: cli/command/stack/swarm: eliminar los depreciados RunPS y options.PS. docker/cli#6398
  • SDK de Go: cli/command/stack: eliminar NewStackCommand. docker/cli#6335
  • SDK de Go: cli/command/stack: eliminar los depreciados RunList y options.List. docker/cli#6398
  • SDK de Go: cli/command/stack: eliminar los depreciados RunServices y swarm.GetServices. docker/cli#6398
  • SDK de Go: cli/command/swarm: eliminar NewSwarmCommand. docker/cli#6335
  • SDK de Go: cli/command/system: eliminar NewVersionCommand, NewInfoCommand, NewSystemCommand, NewEventsCommand, NewInspectCommand. docker/cli#6335
  • SDK de Go: cli/command/task: eliminar los depreciados NewTaskFormat, FormatWrite. docker/cli#6339
  • SDK de Go: cli/command/trust: eliminar NewTrustCommand. docker/cli#6335
  • SDK de Go: cli/command/trust: eliminar el depreciado NewPruneCommand. docker/cli#6344
  • SDK de Go: cli/command/trust: eliminar los depreciados SignedTagInfo, SignerInfo, NewTrustTagFormat, NewSignerInfoFormat, TagWrite, SignerInfoWrite. docker/cli#6339
  • SDK de Go: cli/command/volume: eliminar NewVolumeCommand, NewPruneCommand. docker/cli#6335
  • SDK de Go: cli/command/volume: eliminar RunPrune(), que ya no se utilizaba. docker/cli#6236
  • SDK de Go: cli/command: eliminar las utilidades AddTrustSigningFlags, AddTrustVerificationFlags y AddPlatformFlag, las cuales solo se utilizaban internamente. docker/cli#6244
  • SDK de Go: cli/command: eliminar la utilidad depreciada DockerCli.Apply. docker/cli#6503
  • SDK de Go: cli/command: eliminar la utilidad depreciada DockerCli.ContentTrustEnabled. docker/cli#6502
  • SDK de Go: cli/command: eliminar la utilidad depreciada DockerCli.DefaultVersion. docker/cli#6502
  • SDK de Go: cli/command: eliminar la utilidad depreciada RegistryAuthenticationPrivilegedFunc. docker/cli#6349
  • SDK de Go: cli/command: eliminar las opciones depreciadas WithContentTrustFromEnv, WithContentTrust. docker/cli#6502
  • SDK de Go: cli/config/configfile: eliminar el campo depreciado ConfigFile.Experimental. docker/cli#6464
  • SDK de Go: cli/config/types: eliminar el campo depreciado AuthConfig.Email. docker/cli#6515
  • SDK de Go: cli/manifest/store: eliminar el depreciado IsNotFound. docker/cli#6523
  • SDK de Go: cli: eliminar las utilidades depreciadas VisitAll, DisableFlagsInUseLine. docker/cli#6296
  • SDK de Go: client: eliminar APIClient.ImageInspectWithRaw de la interfaz APIClient. moby/moby#50485
  • SDK de Go: client: eliminar ImageAPIClient.ImageInspectWithRaw de la interfaz ImageAPIClient. moby/moby#50485
  • SDK de Go: client: eliminar ImageAPIClientDeprecated.ImageInspectWithRaw de la interfaz ImageAPIClientDeprecated. moby/moby#50485
  • SDK de Go: client: eliminar las funciones depreciadas ErrorConnectionFailed y IsErrNotFound. moby/moby#50485
  • SDK de Go: client: eliminar las funciones depreciadas NewClient y NewEnvClient. moby/moby#50485
  • SDK de Go: client: eliminar la interfaz CommonAPIClient. moby/moby#50485
  • SDK de Go: client: eliminar la interfaz ImageAPIClientDeprecated. moby/moby#50485
  • SDK de Go: client: eliminar el método depreciado Client.ImageInspectWithRaw. moby/moby#50485
  • SDK de Go: container: eliminar el depreciado IsValidHealthString. moby/moby#50378
  • SDK de Go: container: eliminar el depreciado IsValidStateString. moby/moby#50378
  • SDK de Go: container: eliminar los depreciados StateStatus, WaitCondition y las constantes relacionadas WaitConditionNotRunning, WaitConditionNextExit y WaitConditionRemoved. moby/moby#50378
  • SDK de Go: depreciar pkg/stdcopy, el cual se movió a api/pkg/stdcopy. moby/moby#50462
  • SDK de Go: depreciar el campo NetworkSettingsBase.Bridge, la estructura NetworkSettingsBase, todos los campos de DefaultNetworkSettings y la estructura DefaultNetworkSettings. moby/moby#50848
  • SDK de Go: depreciar pkg/stringid en favor de github.com/moby/moby/client/pkg/stringid. moby/moby#50504
  • SDK de Go: depreciar el paquete profiles que se migró a github.com/moby/profiles. moby/moby#50481
  • SDK de Go: oci: depreciar SetCapabilities, y algunas limpiezas/correcciones menores. moby/moby#50461
  • SDK de Go: opts: eliminar el depreciado ListOpts.GetAll. Ya no se utiliza y se reemplazó por ListOpts.GetSlice. docker/cli#6293
  • SDK de Go: opts: eliminar los depreciados NewNamedListOptsRef, NewNamedMapOpts, NamedListOpts, NamedMapOpts y NamedOption. Estos tipos y funciones ya no se utilizan y se eliminarán en la próxima versión. docker/cli#6293
  • SDK de Go: opts: eliminar el depreciado ParseEnvFile en favor de kvfile.Parse. docker/cli#6382
  • SDK de Go: opts: eliminar el depreciado QuotedString. docker/cli#6293
  • SDK de Go: opts: eliminar el depreciado ValidateHost. docker/cli#6293
  • SDK de Go: pkg/system se ha eliminado y es ahora un paquete interno. moby/moby#50559
  • SDK de Go: pkg/system: depreciar EscapeArgs() e IsAbs. Estas funciones se utilizaron solo internamente y se eliminarán en la próxima versión. moby/moby#50399
  • SDK de Go: registry: eliminar los campos depreciados APIEndpoint.TrimHostName, APIEndpoint.Official y APIEndpoint.AllowNondistributableArtifacts. moby/moby#50376
  • SDK de Go: registry: eliminar las funciones depreciadas HostCertsDir() y SetCertsDir(). moby/moby#50373
  • SDK de Go: registry: eliminar los campos depreciados RepositoryInfo.Official y RepositoryInfo.Class. moby/moby#50498
  • SDK de Go: registry: eliminar el depreciado Service.ResolveRepository(). moby/moby#50374
  • SDK de Go: eliminar buildkit.ClientOpts. moby/moby#50318
  • SDK de Go: eliminar pkg/fileutils. moby/moby#50558
  • SDK de Go: eliminar los depreciados IsNotFound, CommandAnnotationPlugin, CommandAnnotationPluginVendor, CommandAnnotationPluginVersion, CommandAnnotationPluginInvalid, CommandAnnotationPluginCommandPath, NamePrefix, MetadataSubcommandName, HookSubcommandName, Metadata y ReexecEnvvar de cli-plugins/manager en favor de sus equivalentes en cli-plugins/manager/metadata. docker/cli#6414
  • SDK de Go: eliminar los paquetes depreciados types/plugins/logdriver y types/swarm/runtime; la especificación de plugin-runtime se expone ahora como types/swarm.RuntimeSpec y types/swarm.RuntimePrivilege. moby/moby#50554
  • SDK de Go: eliminar el paquete depreciado cli/command/formatter. docker/cli#6406
  • SDK de Go: eliminar el paquete depreciado cli/registry/client. docker/cli#6462
  • SDK de Go: eliminar el paquete depreciado pkg/idtools. moby/moby#50456
  • SDK de Go: templates: eliminar la función depreciada NewParse. docker/cli#6453
  • Ocultar la opción --kernel-memory en docker run y docker create, y producir una advertencia al usarla ya que ya no está soportada por el daemon ni por el kernel. docker/cli#6455
  • Eliminar el campo VirtualSize de la salida de docker image ls cuando se utiliza el formato JSON. docker/cli#6524
  • Eliminar las opciones de formato y salida de VirtualSize. docker/cli#6524
  • Eliminar la compatibilidad con versiones de la API < v1.44 (Docker v24.0 y anteriores). docker/cli#6551
  • Eliminar la opción depreciada bind-nonrecursive para --mount. docker/cli#6241
  • Eliminar los paquetes depreciados (pkg/archive, pkg/chrootarchive, pkg/atomicwriter, pkg/reexec, pkg/platform, pkg/parsers), pkg/system.MkdirAll. Para los reemplazos, ver github.com/moby/go-archive, github.com/moby/sys y la biblioteca estándar. moby/moby#50208
  • Eliminar el manejo especial para valores entrecomillados para las banderas de línea de comandos --tlscacert, --tlscert y --tlskey. docker/cli#6306
  • Eliminar el soporte para AutoRemove (--rm) en API < 1.30. docker/cli#6525
  • Eliminar el soporte para cargar imágenes heredadas (anteriores a Docker 1.10). moby/moby#50324