# Notas de la versión de Docker Engine 26.0


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:

- Características depreciadas y eliminadas, consulta [Características del motor depreciadas](/engine/deprecated/).
- Cambios en la API del motor, consulta el [Historial de versiones de la API del motor](/reference/api/engine/version-history/).

## 26.0.2

<em class="text-gray-400 italic dark:text-gray-500">2024-04-18</em>


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:

- [docker/cli, hito 26.0.2](https://github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A26.0.2)
- [moby/moby, hito 26.0.2](https://github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A26.0.2)
- Características depreciadas y eliminadas, consulta las [Características depreciadas](https://github.com/docker/cli/blob/v26.0.2/docs/deprecated.md).
- Cambios en la API del motor, consulta el [Historial de versiones de la API](https://github.com/moby/moby/blob/v26.0.2/docs/api/version-history.md).

### 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

- [CVE-2024-32473]: Asegurar que IPv6 esté desactivado en las interfaces a las que el motor solo ha asignado una dirección IPv4. [moby#GHSA-x84c-p2g9-rqv9](https://github.com/moby/moby/security/advisories/GHSA-x84c-p2g9-rqv9)

  [CVE-2024-32473]: https://github.com/moby/moby/security/advisories/GHSA-x84c-p2g9-rqv9

## 26.0.1

<em class="text-gray-400 italic dark:text-gray-500">2024-04-11</em>


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

- [docker/cli, hito 26.0.1](https://github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A26.0.1)
- [moby/moby, hito 26.0.1](https://github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A26.0.1)
- Características depreciadas y eliminadas, consulta las [Características depreciadas](https://github.com/docker/cli/blob/v26.0.1/docs/deprecated.md).
- Cambios en la API del motor, consulta el [Historial de versiones de la API](https://github.com/moby/moby/blob/v26.0.1/docs/api/version-history.md).

### 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](https://github.com/moby/moby/pull/47646)
- Eliminar el campo `platform` erróneo del descriptor OCI de `config` de imagen en la salida de `docker save`. [moby/moby#47694](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/47701)
- Corregir una regresión que impedía que el resolvedor interno reenviara solicitudes de redes IPvlan L3 a resolvedores externos. [moby/moby#47705](https://github.com/moby/moby/pull/47705)
- Impedir el uso de resolvedores externos en redes IPvlan y Macvlan creadas sin especificar una interfaz padre. [moby/moby#47705](https://github.com/moby/moby/pull/47705)

### Actualizaciones de empaquetado

- Actualizar el entorno de ejecución de Go a 1.21.9. [moby/moby#47671](https://github.com/moby/moby/pull/47671), [docker/cli#4987](https://github.com/docker/cli/pull/4987)
- Actualizar Compose a [v2.26.1](https://github.com/docker/compose/releases/tag/v2.26.1). [docker/docker-ce-packaging#1009](https://github.com/docker/docker-ce-packaging/pull/1009)
- Actualizar containerd a [v1.7.15](https://github.com/containerd/containerd/releases/tag/v1.7.15) (solo binarios estáticos). [moby/moby#47692](https://github.com/moby/moby/pull/47692)

## 26.0.0

<em class="text-gray-400 italic dark:text-gray-500">2024-03-20</em>


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

- [docker/cli, hito 26.0.0](https://github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A26.0.0)
- [moby/moby, hito 26.0.0](https://github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A26.0.0)
- Características depreciadas y eliminadas, consulta las [Características depreciadas](https://github.com/docker/cli/blob/v26.0.0/docs/deprecated.md).
- Cambios en la API del motor, consulta el [Historial de versiones de la API](https://github.com/moby/moby/blob/v26.0.0/docs/api/version-history.md).

### 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](https://github.com/moby/moby/pull/45687)
- Añadir soporte para `volume-subpath` a la bandera de montaje (`--mount type=volume,...,volume-subpath=<subpath>`). [docker/cli#4331](https://github.com/docker/cli/pull/4331)
- Aceptar separadores `=` y `[ipv6]` en archivos compose para `docker stack deploy`. [docker/cli#4860](https://github.com/docker/cli/pull/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](https://github.com/moby/moby/pull/47352)
- Almacén de imágenes de containerd: `docker image ls` ya no crea entradas duplicadas para imágenes multiplataforma. [moby/moby#45967](https://github.com/moby/moby/pull/45967)
- Almacén de imágenes de containerd: Enviar métricas de Prometheus. [moby/moby#47555](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/47175)
- Corregir que `docker container start` falle al usarse con `--checkpoint`. [moby/moby#47456](https://github.com/moby/moby/pull/47456)
- Restaurar la conectividad IP entre el host y los contenedores en una red bridge interna. [moby/moby#47356](https://github.com/moby/moby/pull/47356)
- No aplicar nuevas reglas de validación para redes swarm existentes. [moby/moby#47361](https://github.com/moby/moby/pull/47361)
- Restaurar nombres DNS para contenedores en la red "nat" predeterminada en Windows. [moby/moby#47375](https://github.com/moby/moby/pull/47375)
- Mostrar sugerencia al invocar `docker image ls` con un argumento ambiguo. [docker/cli#4849](https://github.com/docker/cli/pull/4849)
- Limpiar archivos `@docker_cli_[UUID]` en OpenBSD. [docker/cli#4862](https://github.com/docker/cli/pull/4862)
- Añadir un mensaje de [aviso de depreciación](https://github.com/docker/cli/blob/v26.0.0/docs/deprecated.md#unauthenticated-tcp-connections) explícito al usar conexiones TCP remotas sin TLS. [docker/cli#4928](https://github.com/docker/cli/pull/4928), [moby/moby#47556](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/47465)
- Eliminar los campos `Container` y `ContainerConfig` de la respuesta `GET /images/{name}/json`. [moby/moby#47430](https://github.com/moby/moby/pull/47430)

### Actualizaciones de empaquetado

- Actualizar BuildKit a [v0.13.1](https://github.com/moby/buildkit/releases/tag/v0.13.1). [moby/moby#47582](https://github.com/moby/moby/pull/47582)
- Actualizar Buildx a [v0.13.1](https://github.com/docker/buildx/releases/tag/v0.13.1). [docker/docker-ce-packaging#1000](https://github.com/docker/docker-ce-packaging/pull/1000)
- Actualizar Compose a [v2.25.0](https://github.com/docker/compose/releases/tag/v2.25.0). [docker/docker-ce-packaging#1002](https://github.com/docker/docker-ce-packaging/pull/1002)
- Actualizar el entorno de ejecución de Go a [1.21.8](https://go.dev/doc/devel/release#go1.21.8). [moby/moby#47502](https://github.com/moby/moby/pull/47502)
- Actualizar RootlessKit a [v2.0.2](https://github.com/rootless-containers/rootlesskit/releases/tag/v2.0.2). [moby/moby#47508](https://github.com/moby/moby/pull/47504)
- Actualizar containerd a v1.7.13 (solo binarios estáticos). [moby/moby#47278](https://github.com/moby/moby/pull/47278)
- Actualizar el binario runc a v1.1.12. [moby/moby#47268](https://github.com/moby/moby/pull/47268)
- Actualizar OTel a v0.46.1 / v1.21.0. [moby/moby#47245](https://github.com/moby/moby/pull/47245)

### Eliminado

- Eliminar los campos `Container` y `ContainerConfig` de la respuesta `GET /images/{name}/json`. [moby/moby#47430](https://github.com/moby/moby/pull/47430)
- Depreciar la capacidad de aceptar conexiones TCP remotas sin TLS. [Aviso de depreciación](https://github.com/docker/cli/tree/v26.0.0/deprecation.md#unauthenticated-tcp-connections) [docker/cli#4928](https://github.com/docker/cli/pull/4928) [moby/moby#47556](https://github.com/moby/moby/pull/47556).
- Eliminar las versiones depreciadas de la API (API < v1.24). [moby/moby#47155](https://github.com/moby/moby/pull/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](https://github.com/moby/moby/pull/47459)
- image: eliminar el IDFromDigest depreciado. [moby/moby#47198](https://github.com/moby/moby/pull/47198)
- Eliminar el paquete depreciado `github.com/docker/docker/pkg/loopback`. [moby/moby#47128](https://github.com/moby/moby/pull/47128)
- pkg/system: eliminar los depreciados `ErrNotSupportedOperatingSystem`, `IsOSSupported`. [moby/moby#47129](https://github.com/moby/moby/pull/47129)
- pkg/homedir: eliminar los depreciados Key() y GetShortcutString(). [moby/moby#47130](https://github.com/moby/moby/pull/47130)
- pkg/containerfs: eliminar ResolveScopedPath depreciado. [moby/moby#47131](https://github.com/moby/moby/pull/47131)
- La bandera del daemon `--oom-score-adjust` se deprecio en la v24.0 y ahora se ha eliminado. [moby/moby#46113](https://github.com/moby/moby/pull/46113)
- Eliminar alias depreciados del paquete api/types. Estos tipos se depreciaron en la v25.0.0, que proporcionaba alias temporales. [moby/moby#47148](https://github.com/moby/moby/pull/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](https://github.com/docker/cli/pull/4811)
- cli/command: eliminar los depreciados `DockerCliOption`, `InitializeOpt`. [docker/cli#4810](https://github.com/docker/cli/pull/4810)

  [CVE-2024-29018]: https://github.com/moby/moby/security/advisories/GHSA-mq39-4gv4-mvpx

