# Notas de la versión de Docker Engine 23.0


> [!NOTE]
>
> A partir de la versión 23.0.0 de Docker Engine, Buildx se distribuye en un paquete independiente: `docker-buildx-plugin`.
> In versiones anteriores, Buildx estaba incluido en el paquete `docker-ce-cli`.
> Al actualizar a esta versión de Docker Engine, asegúrate de actualizar todos los
> paquetes. Por ejemplo, en Ubuntu:
>
> ```console
> $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
> ```
>
> Consulta las [instrucciones de instalación de Docker Engine][1] para tu sistema operativo
> para obtener más detalles sobre la actualización de Docker Engine.

[1]: /engine/install/

Esta página describe los cambios más recientes, adiciones, problemas conocidos y correcciones para Docker Engine versión 23.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/).

A partir de la versión 23.0.0, Docker Engine deja de utilizar la versión basada en CalVer
y comienza a utilizar el [formato de versión SemVer](https://semver.org/).
Cambiar el formato de la versión es un paso previo hacia la compatibilidad con módulos de Go,
pero el repositorio aún no utiliza módulos de Go y sigue requiriendo el uso de una versión "+incompatible".
Se sigue trabajando hacia la compatibilidad con módulos de Go en una futura versión.

## 23.0.6

<em class="text-gray-400 italic dark:text-gray-500">2023-05-08</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 23.0.6](https://github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A23.0.6)
- [moby/moby, hito 23.0.6](https://github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A23.0.6)

### Correcciones de errores y mejoras

- Corregir que el controlador de almacenamiento vfs no funcione sobre NFS. [moby/moby#45465](https://github.com/moby/moby/pull/45465)

### Actualizaciones de empaquetado

- Actualizar Go a `1.19.9`. [docker/docker-ce-packaging#889](https://github.com/docker/docker-ce-packaging/pull/889), [docker/cli#4254](https://github.com/docker/cli/pull/4254), [moby/moby#45455](https://github.com/moby/moby/pull/45455)
- Actualizar `containerd` a [v1.6.21](https://github.com/containerd/containerd/releases/tag/v1.6.21)
- Actualizar `runc` a [v1.1.7](https://github.com/opencontainers/runc/releases/tag/v1.1.7)

## 23.0.5

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


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

- [docker/cli, hito 23.0.5](https://github.com/docker/cli/milestone/79?closed=1)
- [moby/moby, hito 23.0.5](https://github.com/moby/moby/milestone/118?closed=1)

### Correcciones de errores y mejoras

- Añadir la opción `--all` / `-a` al depurar (pruning) volúmenes. [docker/cli#4229](https://github.com/docker/cli/pull/4229)
- Añadir `--format=json` para `docker info`. [docker/cli#4320](https://github.com/docker/cli/pull/4230)
- Corregir la pérdida de logs con el controlador de logs AWSLogs. [moby/moby#45350](https://github.com/moby/moby/pull/45350)
- Corregir una regresión introducida en la v23.0.4 donde dockerd se negaba a iniciarse si se proporcionaba el parámetro de configuración fixed-cidr pero no bip. [moby/moby#45403](https://github.com/moby/moby/pull/45403)
- Corregir un pánico (panic) en libnetwork durante el inicio del daemon [moby/moby#45376](https://github.com/moby/moby/pull/45376)
- Corregir que no se envíe el evento "tag" cuando se construye una imagen con `buildx`. [moby/moby#45410](https://github.com/moby/moby/pull/45410)

### Actualizaciones de empaquetado

- Actualizar Compose a `2.17.3`. [docker/docker-ce-packaging#883](https://github.com/docker/docker-ce-packaging/pull/883)

## 23.0.4

<em class="text-gray-400 italic dark:text-gray-500">2023-04-17</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 23.0.4](https://github.com/docker/cli/milestone/77?closed=1)
- [moby/moby, hito 23.0.4](https://github.com/moby/moby/milestone/117?closed=1)

### Correcciones de errores y mejoras

- Corregir una regresión de rendimiento en la CLI de Docker 23.0.0 [docker/cli#4141](https://github.com/docker/cli/pull/4141).
- Corregir que el indicador de progreso en `docker cp` no funcione de la manera esperada [docker/cli#4157](https://github.com/docker/cli/pull/4157).
- Corregir el completado de la terminal para `docker compose --file` [docker/cli#4177](https://github.com/docker/cli/pull/4177).
- Corregir un error causado por el manejo incorrecto de "default-address-pools" en `daemon.json` [moby/moby#45246](https://github.com/moby/moby/pull/45246).

### Actualizaciones de empaquetado

- Corregir paquetes faltantes para CentOS 9 Stream.
- Actualizar Go a `1.19.8`. [docker/docker-ce-packaging#878](https://github.com/docker/docker-ce-packaging/pull/878), [docker/cli#4164](https://github.com/docker/cli/pull/4164), [moby/moby#45277](https://github.com/moby/moby/pull/45277), que contiene correcciones para [CVE-2023-24537](https://github.com/advisories/GHSA-fp86-2355-v99r), [CVE-2023-24538](https://github.com/advisories/GHSA-v4m2-x4rp-hv22), [CVE-2023-24534](https://github.com/advisories/GHSA-8v5j-pwr7-w5f8) y [CVE-2023-24536](https://github.com/advisories/GHSA-9f7g-gqwh-jpf5)

## 23.0.3

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


> [!NOTE]
> 
> Debido a un problema con los repositorios de paquetes de CentOS 9 Stream, los paquetes para
> CentOS 9 no están disponibles actualmente. Los paquetes para CentOS 9 se pueden añadir más tarde
> o como parte de la próxima versión de parche (23.0.4).

### Correcciones de errores y mejoras

- Se corrigieron varios problemas que podían provocar que las redes overlay cifradas de Swarm no mantuvieran sus garantías, mitigando [CVE-2023-28841](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-28841), [CVE-2023-28840](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-28840) y [CVE-2023-28842](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-28842).
  - La falta de soporte del kernel para redes overlay cifradas ahora se reporta como un error.
  - Las redes overlay cifradas se configuran de manera temprana, en lugar de esperar a que se adjunten múltiples nodos.
  - Las redes overlay cifradas ahora son utilizables en Red Hat Enterprise Linux 9 mediante el uso del módulo del kernel `xt_bpf`.
  - Los usuarios de las redes overlay de Swarm deben revisar [GHSA-vwm3-crmr-xfxw](https://github.com/moby/moby/security/advisories/GHSA-vwm3-crmr-xfxw) para asegurarse de que no se haya producido una exposición no intencionada.

### Actualizaciones de empaquetado

- Actualizar `containerd` a [v1.6.20](https://github.com/containerd/containerd/releases/tag/v1.6.20).
- Actualizar `runc` a [v1.1.5](https://github.com/opencontainers/runc/releases/tag/v1.1.5).

## 23.0.2

<em class="text-gray-400 italic dark:text-gray-500">2023-03-28</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 23.0.2](https://github.com/docker/cli/milestone/75?closed=1)
- [moby/moby, hito 23.0.2](https://github.com/moby/moby/milestone/114?closed=1)

### Correcciones de errores y mejoras

- Resolver por completo las comprobaciones faltantes para `apparmor_parser` cuando se detecta un kernel compatible con AppArmor. [containerd/containerd#8087](https://github.com/containerd/containerd/pull/8087), [moby/moby#45043](https://github.com/moby/moby/pull/45043)
- Asegurar que las credenciales se eliminen de las URLs de Git al generar buildinfo de BuildKit. Corrige [CVE-2023-26054](https://github.com/moby/buildkit/security/advisories/GHSA-gc89-7gcr-jxqc). [moby/moby#45110](https://github.com/moby/moby/pull/45110)
- Corregir que los volúmenes anónimos creados por una línea `VOLUME` en un Dockerfile se excluyan del prune de volúmenes. [moby/moby#45159](https://github.com/moby/moby/pull/45159)
- Corregir un fallo al propagar correctamente los errores durante la eliminación de volúmenes en un nodo de Swarm. [moby/moby#45155](https://github.com/moby/moby/pull/45155)
- Solución temporal para un error en `COPY --link` de BuildKit deshabilitando la optimización mergeop/diffop. [moby/moby#45112](https://github.com/moby/moby/pull/45112)
- Limpiar adecuadamente las tareas secundarias cuando se elimina un trabajo principal de Swarm. [moby/swarmkit#3112](https://github.com/moby/swarmkit/pull/3112), [moby/moby#45107](https://github.com/moby/moby/pull/45107)
- Corregir la lógica de creación de servicios de Swarm para que se puedan utilizar juntos un GenericResource y una red no predeterminada. [moby/swarmkit#3082](https://github.com/moby/swarmkit/pull/3082), [moby/moby#45107](https://github.com/moby/moby/pull/45107)
- Corregir que el soporte de Swarm CSI requiera que el plugin CSI ofrezca endpoints de staging para publicar un volumen. [moby/swarmkit#3116](https://github.com/moby/swarmkit/pull/3116), [moby/moby#45107](https://github.com/moby/moby/pull/45107)
- Corregir un pánico causado por el almacenamiento en búfer de logs en algunas configuraciones. [containerd/fifo#47](https://github.com/containerd/fifo/pull/47), [moby/moby#45051](https://github.com/moby/moby/pull/45051)
- Registrar los errores en la capa de traducción de la API REST a gRPC de Swarm en el nivel debug para reducir la redundancia y el ruido. [moby/moby#45016](https://github.com/moby/moby/pull/45016)
- Corregir un problema de resolución de DNS que afectaba a los contenedores creados con `--dns-opt` o `--dns-search` cuando se utiliza `systemd-resolved` fuera del contenedor. [moby/moby#45000](https://github.com/moby/moby/pull/45000)
- Corregir un pánico al registrar errores en el manejo de consultas DNS originadas desde el interior de un contenedor. [moby/moby#44980](https://github.com/moby/moby/pull/44980)
- Mejorar la velocidad de `docker ps` permitiendo a los usuarios excluirse de los cálculos de tamaño con `--size=false`. [docker/cli#4107](https://github.com/docker/cli/pull/4107)
- Extender el soporte para el completado de bash a todos los plugins. [docker/cli#4092](https://github.com/docker/cli/pull/4092)
- Corregir que `docker stack deploy` falle en Windows cuando están presentes variables de entorno especiales establecidas por `cmd.exe`. [docker/cli#4083](https://github.com/docker/cli/pull/4083)
- Añadir compatibilidad hacia adelante para futuras versiones de la API considerando que las etiquetas de imagen vacías son iguales a `<none>`. [docker/cli#4065](https://github.com/docker/cli/pull/4065)
- Escribir atómicamente archivos de contexto para reducir en gran medida la probabilidad de corrupción y mejorar el mensaje de error para un contexto corrupto. [docker/cli#4063](https://github.com/docker/cli/pull/4063)

### Empaquetado

- Actualizar Go a `1.19.7`. [docker/docker-ce-packaging#857](https://github.com/docker/docker-ce-packaging/pull/857), [docker/cli#4086](https://github.com/docker/cli/pull/4086), [moby/moby#45137](https://github.com/moby/moby/pull/45137)
- Actualizar `containerd` a `v1.6.19`. [moby/moby#45084](https://github.com/moby/moby/pull/45084), [moby/moby#45099](https://github.com/moby/moby/pull/45099)
- Actualizar Buildx a `v0.10.4`. [docker/docker-ce-packaging#855](https://github.com/docker/docker-ce-packaging/pull/855)
- Actualizar Compose a `v2.17.2`. [docker/docker-ce-packaging#867](https://github.com/docker/docker-ce-packaging/pull/867)

## 23.0.1

<em class="text-gray-400 italic dark:text-gray-500">2023-02-09</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 23.0.1](https://github.com/docker/cli/milestone/73?closed=1)
- [moby/moby, hito 23.0.1](https://github.com/moby/moby/milestone/113?closed=1)

### Correcciones de errores y mejoras

- Corregir que los contenedores no se inicien si el kernel tiene habilitado AppArmor, pero `apparmor_parser` no está disponible. [moby/moby#44942](https://github.com/moby/moby/pull/44942)
- Corregir que las construcciones habilitadas con BuildKit con almacenamiento en caché en línea provoquen la caída del daemon. [moby/moby#44944](https://github.com/moby/moby/pull/44944)
- Corregir que BuildKit cargue incorrectamente capas en caché creadas por versiones anteriores. [moby/moby#44959](https://github.com/moby/moby/pull/44959)
- Corregir un problema por el cual las redes `ipvlan` creadas antes de la actualización impedían el inicio del daemon. [moby/moby#44937](https://github.com/moby/moby/pull/44937)
- Corregir que el controlador de almacenamiento `overlay2` falle tempranamente en las pruebas de `metacopy` cuando se inicializa en un sistema de archivos subyacente no compatible. [moby/moby#44922](https://github.com/moby/moby/pull/44922)
- Corregir que los eventos de salida de `exec` se malinterpreten como salidas de contenedores en algunos entornos de ejecución, como Kata Containers. [moby/moby#44892](https://github.com/moby/moby/pull/44892)
- Mejorar el mensaje de error devuelto por la CLI al recibir una respuesta JSON truncada causada por la interrupción de la API a mitad de la solicitud. [docker/cli#4004](https://github.com/docker/cli/pull/4004)
- Corregir un código de salida de CLI incorrecto al intentar ejecutar un directorio con un `runc` compilado usando Go 1.20. [docker/cli#4004](https://github.com/docker/cli/pull/4004)
- Corregir el error al tratar el argumento de tamaño de `--device-write-bps` como una ruta. [docker/cli#4004](https://github.com/docker/cli/pull/4004)

### Empaquetado

- Añadir `/etc/docker` al empaquetado de RPM y DEB. [docker/docker-ce-packaging#842](https://github.com/docker/docker-ce-packaging/pull/842)
  - No todos los casos de uso se beneficiarán; si dependes de esto, debes ejecutar explícitamente `mkdir -p /etc/docker`.
- Actualizar Compose a `v2.16.0`. [docker/docker-ce-packaging#844](https://github.com/docker/docker-ce-packaging/pull/844)

## 23.0.0

<em class="text-gray-400 italic dark:text-gray-500">2023-02-01</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 23.0.0](https://github.com/docker/cli/milestone/51?closed=1)
- [moby/moby, hito 23.0.0](https://github.com/moby/moby/milestone/91?closed=1)

### Nuevas características

- Configurar Buildx y BuildKit como el constructor predeterminado en Linux. [moby/moby#43992](https://github.com/moby/moby/pull/43992)
  - Alias `docker build` a `docker buildx build`. [docker/cli#3314](https://github.com/docker/cli/pull/3314)
  - El constructor heredado aún se puede utilizar configurando explícitamente `DOCKER_BUILDKIT=0`.
  - Existen diferencias en cómo BuildKit y el constructor heredado manejan las construcciones multi-etapa. Para obtener más información, consulta [Construcciones multi-etapa](/build/building/multi-stage/#differences-between-legacy-builder-and-buildkit).
- Añadir soporte para descargar capas comprimidas con `zstd`. [moby/moby#41759](https://github.com/moby/moby/pull/41759), [moby/moby#42862](https://github.com/moby/moby/pull/42862)
- Añadir soporte para entornos de ejecución (runtimes) OCI alternativos en Linux, compatibles con la API v2 del runtime de containerd. [moby/moby#43887](https://github.com/moby/moby/pull/43887), [moby/moby#43993](https://github.com/moby/moby/pull/43993)
- Añadir soporte para containerd `runhcs` shim en Windows (desactivado por defecto). [moby/moby#42089](https://github.com/moby/moby/pull/42089)
- Añadir `dockerd --validate` para comprobar la configuración JSON del daemon y salir. [moby/moby#42393](https://github.com/moby/moby/pull/42393)
- Añadir la capacidad de configurar el proxy HTTP del daemon mediante banderas o configuración JSON. [moby/moby#42835](https://github.com/moby/moby/pull/42835)
- Añadir soporte para redes punto a punto RFC 3021 (IPv4 /31s) y hosts individuales (IPv4 /32s). Para redes con dos o menos direcciones, IPAM no reservará una dirección de red y de difusión (broadcast). [moby/moby#42626](https://github.com/moby/moby/pull/42626)
- Añadir soporte para configurar `ipvlan_flag` y usar el modo `ipvlan_mode` `l3s` en el controlador de red `ipvlan`. [moby/moby#42542](https://github.com/moby/moby/pull/42542)
- Añadir soporte para mostrar el valor de la opción `metacopy` para el controlador de almacenamiento `overlay2`. [moby/moby#43557](https://github.com/moby/moby/pull/43557)
- Añadir soporte para describir dispositivos de Windows usando la sintaxis `IDType://ID`. [moby/moby#43368](https://github.com/moby/moby/pull/43368)
- Añadir informes de versiones de `RootlessKit`, `slirp4netns` y `VPNKit`. [moby/moby#42330](https://github.com/moby/moby/pull/42330)
- Añadir soporte experimental para volúmenes de clúster SwarmKit (CSI). [moby/moby#41982](https://github.com/moby/moby/pull/41982)
  - CLI: Añadir opciones de volumen de clúster (CSI) a `docker volume`. [docker/cli#3606](https://github.com/docker/cli/pull/3606)
  - CLI: Añadir soporte de volumen de clúster (CSI) a `docker stack`. [docker/cli#3662](https://github.com/docker/cli/pull/3662)
- Añadir soporte para trabajos SwarmKit en `docker stack deploy`. [docker/cli#2907](https://github.com/docker/cli/pull/2907)
- Añadir el comando `docker stack config` para generar los archivos de configuración combinados e interpolados utilizados por `stack deploy`. [docker/cli#3544](https://github.com/docker/cli/pull/3544)
- Añadir un nuevo comando `docker context show` que imprime el nombre del contexto actual. [docker/cli#3567](https://github.com/docker/cli/pull/3567)
- Añadir la variante abreviada `--format=json` de `--format="{{ json . }}"` a todos los comandos que admiten la bandera `--format`. [docker/cli#2936](https://github.com/docker/cli/pull/2936)
- Añadir una opción `--quiet` a los comandos `docker create` y `docker run` para suprimir la salida al descargar una imagen. [docker/cli#3377](https://github.com/docker/cli/pull/3377)
- Añadir una opción `--force` al subcomando `docker network rm`. Hace que la CLI devuelva un código de salida 0 incluso si la red no existe. No tiene efecto en el procedimiento del lado del servidor para eliminar una red. [docker/cli#3547](https://github.com/docker/cli/pull/3547)
- Añadir una opción `--signal` a `docker stop` y `docker restart`. [docker/cli#3614](https://github.com/docker/cli/pull/3614)
- Añadir una bandera `-v/--version` a `docker-proxy`. [moby/moby#44703](https://github.com/moby/moby/pull/44703)
- Los plugins ahora se descubren en rutas de nivel de usuario bien conocidas cuando el daemon se ejecuta en modo rootless. [moby/moby#44778](https://github.com/moby/moby/pull/44778)
- El daemon ahora maneja las codificaciones JSON alternativas comunes en el archivo de configuración JSON de forma limpia y reporta errores útiles. [moby/moby#44777](https://github.com/moby/moby/pull/44777), [moby/moby#44832](https://github.com/moby/moby/pull/44832)
  - Se acepta UTF-8 con una marca de orden de bytes (BOM).
  - Se acepta UTF-16 con una marca de orden de bytes (BOM).
  - El UTF-8 no válido se reporta de forma temprana y con un mensaje de error comprensible.
- Permitir el uso de `STOPSIGNAL` a través de `docker commit`. [moby/moby#43369](https://github.com/moby/moby/pull/43369)
- Añadir una nueva opción al controlador de logs `awslogs` para permitir omitir la creación del flujo de logs en CloudWatch. [moby/moby#42132](https://github.com/moby/moby/pull/42132)
- Añadir una nueva opción al controlador de logs `awslogs` para especificar el formato de log que se envía a CloudWatch. [moby/moby#42838](https://github.com/moby/moby/pull/42838)
- Añadir una nueva opción al controlador de logs `fluentd` para establecer el intervalo de reconexión. [moby/moby#43100](https://github.com/moby/moby/pull/43100)
- Añadir nuevos configuradores de opciones al cliente de la API de Go: `WithTLSClientConfigFromEnv()`, `WithHostFromEnv()` y `WithVersionFromEnv()`. [moby/moby#42224](https://github.com/moby/moby/pull/42224)
- Añadir generación de completado de comandos de la terminal a través de un subcomando `docker completion`. [docker/cli#3429](https://github.com/docker/cli/pull/3429)
- API: Añadir una cabecera `Swarm` a `GET /_ping` y `HEAD /_ping`, lo que permite la detección en una sola solicitud del soporte de Swarm. [moby/moby#42064](https://github.com/moby/moby/pull/42064)
- API: Añadir un parámetro `signal` a `POST /containers/{id}/stop` y `POST /containers/{id}/restart` para establecer la señal utilizada. [moby/moby#43206](https://github.com/moby/moby/pull/43206)
- API: Añadir un parámetro `CreateMountPoint` a `POST /containers/create`. [moby/moby#43484](https://github.com/moby/moby/pull/43484)
- API: Añadir un parámetro `shared-size` a `GET /images/json` para habilitar el cálculo del tamaño compartido de las imágenes. [moby/moby#42531](https://github.com/moby/moby/pull/42531)
- API: Añadir un parámetro `type` a `GET /system/df`, para controlar qué tipos de objetos se consideran al calcular el uso del disco. [moby/moby#42559](https://github.com/moby/moby/pull/42559)
- systemd: Utilizar un containerd gestionado por systemd en lugar de un containerd gestionado por el daemon. [moby/moby#42373](https://github.com/moby/moby/pull/42373)
- systemd: Iniciar `docker.service` después de `time-set.target`. [moby/moby#43107](https://github.com/moby/moby/pull/43107)

### Eliminado

- Eliminar el soporte para leer la configuración desde `~/.dockercfg`. [docker/cli#2504](https://github.com/docker/cli/pull/2504)
  - Esta ubicación ha estado depreciada desde la versión 1.7.0.
  - [Aviso de depreciación](/engine/deprecated/#support-for-legacy-dockercfg-configuration-files)
- Eliminar las opciones del daemon `-v` y `--graph` en favor de `--data-root`. [docker/cli#3739](https://github.com/docker/cli/pull/3739)
  - Estas opciones han estado ocultas y depreciadas desde la versión 17.05.
  - [Aviso de depreciación](/engine/deprecated/#-g-and---graph-flags-on-dockerd)
- Eliminar el ordenamiento de resultados en el lado del cliente, en favor del orden en que los devuelve la API de búsqueda. [docker/cli#3470](https://github.com/docker/cli/pull/3470)
- Eliminar las advertencias relacionadas con los controladores de almacenamiento depreciados de la CLI. Las advertencias ahora son manejadas por el daemon. [docker/cli#3542](https://github.com/docker/cli/pull/3542)
- Eliminar el campo de cliente `Experimental` de `docker version`. [docker/cli#3543](https://github.com/docker/cli/pull/3543)
  - [Aviso de depreciación](/engine/deprecated/#configuration-options-for-experimental-cli-features)
- Requerir la aceptación explícita (opt-in) para usar controladores de almacenamiento depreciados, y no seleccionarlos automáticamente al actualizar. [moby/moby#43378](https://github.com/moby/moby/pull/43378)
- Eliminar el soporte depreciado para los controladores de almacenamiento `overlay` y `overlay2` en sistemas de archivos subyacentes sin soporte para `d_type`. [moby/moby#43472](https://github.com/moby/moby/pull/43472)
  - [Aviso de depreciación](/engine/deprecated/#backing-filesystem-without-d_type-support-for-overlayoverlay2)
- Eliminar la opción depreciada `overrideKernelCheck` del controlador de almacenamiento `overlay2`. [moby/moby#44279](https://github.com/moby/moby/pull/44279)
  [Aviso de depreciación](/engine/deprecated/#support-for-the-overlay2override_kernel_check-storage-option)
- Eliminar el soporte para el runtime OCI depreciado `io.containerd.runtime.v1.linux`. [moby/moby#43695](https://github.com/moby/moby/pull/43695)
- Eliminar LCOW (Linux Containers on Windows). [moby/moby#42451](https://github.com/moby/moby/pull/42451), [moby/moby#42499](https://github.com/moby/moby/pull/42499), [moby/moby#42506](https://github.com/moby/moby/pull/42506), [moby/moby#42511](https://github.com/moby/moby/pull/42511), [moby/moby#42520](https://github.com/moby/moby/pull/42520), [moby/moby#42683](https://github.com/moby/moby/pull/42683), [moby/moby#42684](https://github.com/moby/moby/pull/42684), [moby/moby#42685](https://github.com/moby/moby/pull/42685), [moby/moby#43187](https://github.com/moby/moby/pull/43187)
  - LCOW se introdujo como una vista previa técnica en 17.09 y se deprecio en 20.10.
  - [Aviso de depreciación](/engine/deprecated/#linux-containers-on-windows-lcow-experimental)
- Eliminar las opciones del daemon relacionadas con las redes overlay heredadas utilizadas con Swarm independiente.
  - Eliminar las opciones `--cluster-xx` de `dockerd`. [moby/moby#40383](https://github.com/moby/moby/issues/40383)
  - Eliminar `host-discovery` y redes overlay con almacenes k/v externos. [moby/moby#42247](https://github.com/moby/moby/pull/42247)
  - [Aviso de depreciación](/engine/deprecated/#classic-swarm-and-overlay-networks-using-cluster-store)
- Eliminar una alternativa (fallback) de plataforma `arm` depreciada. `--platform linux/arm/vY` ahora devolverá un error cuando `arm/vY` no esté disponible en lugar de descargar la imagen incorrecta. [moby/moby#44414](https://github.com/moby/moby/pull/44414)
- Eliminar los configuradores de opciones depreciados `SetCustomHTTPHeaders()`, `CustomHTTPHeaders()` de la API del cliente Go. [moby/moby#42694](https://github.com/moby/moby/pull/42694)
- Eliminar la opción configuradora depreciada `WithDialer()` de la API del cliente Go. [moby/moby#44022](https://github.com/moby/moby/pull/44022)
  - Utilizar `WithDialContext()` en su lugar.
- Eliminar la implementación del daemon de `opts.QuotedString`. La implementación se ha trasladado a la CLI. [moby/moby#43250](https://github.com/moby/moby/pull/43250)
- Eliminar el ID de daemon separado de trust-key en el daemon, y deshabilitar la generación de trust-key. [moby/moby#43555](https://github.com/moby/moby/pull/43555)
- API: Eliminar la opción depreciada `KernelMemory` de `POST /containers/create` en la versión de la API >= 1.42. [moby/moby#43214](https://github.com/moby/moby/pull/43214)
  - [Aviso de depreciación](/engine/deprecated/#kernel-memory-limit)

### Depreciado

- Requerir Windows Server RS5 / LTSC 2019 (compilación 17763) como mínimo para ejecutar el daemon. [moby/moby#43254](https://github.com/moby/moby/pull/43254)
- Depreciar `BuilderSize` en la versión de la API >= 1.42. [moby/moby#42608](https://github.com/moby/moby/pull/42608)
- Depreciar `BuildCache.Parent` en favor del recién introducido `BuildCache.Parents` en la versión de la API >= 1.42. [moby/moby#43908](https://github.com/moby/moby/pull/43908)
- Depreciar `pkg/urlutil`, trasladando la implementación a `builder/remotecontext/urlutil`. [moby/moby#43477](https://github.com/moby/moby/pull/43477)

### Actualizaciones (Upgrades)

- Actualizar Go a `1.19.5`. [docker/cli#3958](https://github.com/docker/cli/pull/3958), [moby/moby#44794](https://github.com/moby/moby/pull/44794)
- Actualizar `rootlesskit` a `v0.14.4`. [moby/moby#42708](https://github.com/moby/moby/pull/42708)
- Actualizar `buildkit` a `v0.10.6`. [moby/moby#43239](https://github.com/moby/moby/pull/43239)
- Actualizar `buildx` a `v0.10.2`. [docker/docker-ce-packaging#840](https://github.com/docker/docker-ce-packaging/pull/840)
- Actualizar `swarmkit` a `v2.0.0-20230119195359-904c221ac281`. [moby/moby#44858](https://github.com/moby/moby/pull/44858)
- Actualizar `containerd` a `v1.6.16`. [moby/moby#44766](https://github.com/moby/moby/pull/44766), [moby/moby#44769](https://github.com/moby/moby/pull/44769), [moby/moby#44881](https://github.com/moby/moby/pull/44881)
- Actualizar `runc` a `v1.1.4`. [moby/moby#44039](https://github.com/moby/moby/pull/44039)
- Actualizar `hcsshim` a `v0.9.6`. [moby/moby#44658](https://github.com/moby/moby/pull/44658)
- El controlador de almacenamiento `btrfs` ahora depende de las cabeceras del kernel de Linux (>= 4.12) en lugar de las cabeceras de btrfs-progs. [moby/moby#44776](https://github.com/moby/moby/pull/44776)

### Seguridad

- Cambiar los permisos de los archivos `hostconfig.json` de los contenedores a `0600` (antes `0644`). [moby/moby#41620](https://github.com/moby/moby/pull/41620)
- Corregir que `--seccomp-profile` no acepte `unconfined` y renombrar el perfil seccomp predeterminado a `builtin`. [moby/moby#42481](https://github.com/moby/moby/pull/42481)
- Construir siempre con soporte de seccomp, y eliminar la etiqueta de construcción `seccomp`. [moby/moby#42501](https://github.com/moby/moby/pull/42501)
- Añadir soporte de seccomp en `riscv64`. [moby/moby#43553](https://github.com/moby/moby/pull/43553)
- Añadir soporte para establecer banderas pasadas a `seccomp(2)` en perfiles seccomp. [moby/moby#42648](https://github.com/moby/moby/pull/42648)
- Refactorizar tipos seccomp para reutilizar runtime-spec, y añadir soporte para `ErrnoRet`. [moby/moby#42005](https://github.com/moby/moby/pull/42005)
- Añadir soporte para `DefaultErrnoRet` en perfiles `seccomp`. [moby/moby#42604](https://github.com/moby/moby/pull/42604)
- Añadir un campo `DefaultErrnoRet` explícito al perfil seccomp predeterminado, sin cambios de comportamiento. [moby/moby#42649](https://github.com/moby/moby/pull/42649)
- Bloquear `socket` con `AF_VSOCK` en el perfil seccomp predeterminado. [moby/moby#44563](https://github.com/moby/moby/pull/44563)
- Volver a habilitar `process_vm_readv` y `process_vm_writev` en el perfil seccomp predeterminado. [moby/moby#42083](https://github.com/moby/moby/pull/42083)
- Añadir llamadas al sistema relacionadas con PKU al perfil seccomp predeterminado. [moby/moby#43812](https://github.com/moby/moby/pull/43812)
- Permitir `clock_settime64` con `CAP_SYS_TIME`. [moby/moby#43775](https://github.com/moby/moby/pull/43775)
- Permitir `bpf` con `CAP_BPF` y `perf_event_open` con `CAP_PERFMON`. [moby/moby#43988](https://github.com/moby/moby/pull/43988)
- Establecer explícitamente la llamada al sistema `clone3` para devolver `ENOSYS` en el perfil seccomp predeterminado, con el fin de garantizar que `glibc` recurra correctamente a usar `clone`. [moby/moby#42681](https://github.com/moby/moby/pull/42681)

### Correcciones de errores y mejoras

- Promover `overlay2` para que sea el controlador de almacenamiento predeterminado (`btrfs` y `zfs` ahora requieren activación explícita). [moby/moby#42661](https://github.com/moby/moby/pull/42661)
- Añadir un indicador de carga (loading spinner) al comando `docker cp`. [docker/cli#2708](https://github.com/docker/cli/pull/2708)
- Depreciar la función `ElectAuthServer`, y hacer que devuelva el registro predeterminado sin llamar al endpoint de la API `GET /info`. [docker/cli#2819](https://github.com/docker/cli/pull/2819)
- Las barras de progreso ya no se invierten al revertir (rolling back) los servicios de Swarm. [docker/cli#2940](https://github.com/docker/cli/pull/2940)
- Usar `net.JoinHostPort()` para corregir el formato con direcciones IPv6. [docker/cli#2972](https://github.com/docker/cli/pull/2972)
- Los mensajes de error de la CLI ahora se imprimen en `stderr`. [docker/cli#3044](https://github.com/docker/cli/pull/3044)
- Mejorar el rendimiento de `docker info` si se utiliza un `--format` personalizado que solo usa información local. Con este cambio, la CLI solo utiliza la API del daemon si detecta que se necesita información del daemon. [docker/cli#3179](https://github.com/docker/cli/pull/3179)
- Eliminar el valor predeterminado de la bandera `--stop-signal`, ya que puede no reflejar el valor predeterminado real utilizado por el daemon. [docker/cli#3245](https://github.com/docker/cli/pull/3245)
- Añadir el esquema `3.10` de Compose a `docker stack`; permitir omitir el campo `version` (lo que resulta en `latest`). [docker/cli#3257](https://github.com/docker/cli/pull/3257)
- La versión de Compose `3` es ahora equivalente a `3.x` (la última) en `docker stack`. [docker/cli#3445](https://github.com/docker/cli/pull/3445)
- Corregir que `<Ctrl-c>` se quede colgado en Windows para salir después de ejecutar un contenedor en modo no interactivo. [docker/cli#3302](https://github.com/docker/cli/pull/3302)
- Añadir rutas de origen relativas al comando `run` en las banderas `-v`/`--volume` y `-m`/`--mount`. [docker/cli#3469](https://github.com/docker/cli/pull/3469)
- `docker exec -t` ahora establece el tamaño de la consola para el proceso ejecutado inmediatamente cuando se crea. [docker/cli#3627](https://github.com/docker/cli/pull/3627)
- Actualizar el formato de impresión agradable (pretty-print) de `docker info` para proporcionar más detalles sobre los plugins instalados. [docker/cli#3645](https://github.com/docker/cli/pull/3645)
- Imprimir mensajes de advertencia para los comandos `docker context list` y `docker context use` cuando el contexto es anulado por el entorno. [docker/cli#3668](https://github.com/docker/cli/pull/3668)
- Añadir una anotación de `aliases` personalizada que se puede usar para imprimir todos los alias disponibles para un comando. [docker/cli#3694](https://github.com/docker/cli/pull/3694)
- La CLI ya no crea ni actualiza el archivo de configuración de la CLI al ejecutar `docker context use` y seleccionar el contexto actual. [docker/cli#3721](https://github.com/docker/cli/pull/3721)
- Los contextos inexistentes ahora se ignoran al ejecutar `docker context rm --force`. [docker/cli#3791](https://github.com/docker/cli/pull/3791)
- Añadir la capacidad de anular enteros a `0` en archivos de Compose. [docker/cli#3812](https://github.com/docker/cli/pull/3812)
- SIGINT (`<Ctrl-c>`) ahora se transmite a los contenedores en ejecución en lugar de provocar la salida de la CLI. [docker/cli#3849](https://github.com/docker/cli/pull/3849)
- Mejorar la experiencia de usuario de `docker port CONTAINER` ordenando los puertos antes de imprimirlos. [docker/cli#3892](https://github.com/docker/cli/pull/3892)
- API: `GET /containers/{id}/logs` y `POST /containers/{id}/attach` ahora reportan qué formato de flujo sin procesar (raw-stream) está en uso utilizando la cabecera de respuesta `Content-type` en la versión de la API >= 1.42. [moby/moby#39812](https://github.com/moby/moby/pull/39812)
- Establecer el tamaño de sandbox predeterminado para las capas de Windows en 127GB, y asegurar que la bandera `--storage-opts` se aplique a todo el almacenamiento en Windows. [moby/moby#41636](https://github.com/moby/moby/pull/41636)
- Eliminar la sección de plugins del archivo de configuración de containerd (`/var/run/docker/containerd/containerd.toml`). [moby/moby#41675](https://github.com/moby/moby/pull/41675)
- Rechazar manifiestos `null` durante la importación de archivos tar. [moby/moby#41842](https://github.com/moby/moby/pull/41842)
- Añadir configuración shim para runtimes personalizados para plugins. [moby/moby#41854](https://github.com/moby/moby/pull/41854)
- Las comprobaciones de estado de los contenedores ahora se reanudan cuando se reinicia el daemon. [moby/moby#41935](https://github.com/moby/moby/pull/41935)
- La cuota ya no se deshabilita al limpiar el controlador `btrfs`. [moby/moby#42273](https://github.com/moby/moby/pull/42273)
- Los dispositivos del host que son accesibles ahora se pueden montar en contenedores sin privilegios (rootless) con `--privileged`. [moby/moby#42638](https://github.com/moby/moby/pull/42638)
- Corregir el manejo incorrecto de los patrones de directorios con comodines recursivos `**/foo` en `.dockerignore`. [moby/moby#42676](https://github.com/moby/moby/pull/42676)
- Extender `docker import --platform` para permitir marcar una imagen importada como de arquitectura extranjera. [moby/moby#43103](https://github.com/moby/moby/pull/43103)
- La validación de las opciones de tiempo real de la CPU ahora se realiza cuando se inicia el daemon en lugar de realizar validaciones para cada contenedor individual, lo que permite que el inicio falle tempranamente. [moby/moby#43131](https://github.com/moby/moby/pull/43131)
- Congelar el paquete `namesgenerator` contra nuevas adiciones. Los usuarios tendrán que estar satisfechos con las 25359 combinaciones existentes de adjetivos y nombres. [moby/moby#43210](https://github.com/moby/moby/pull/43210)
- API: `containers/{id}/attach/ws` solo a flujos de acuerdo con los parámetros `stdin`, `stdout` y `stderr` en la versión de la API >= 1.42. [moby/moby#43322](https://github.com/moby/moby/pull/43322)
- Corregir que el tráfico UDP en los contenedores no funcione después de que el contenedor se reinicie bajo un tráfico sostenido. [moby/moby#43409](https://github.com/moby/moby/pull/43409)
- Añadir soporte para descargar imágenes con niveles de características de microarquitectura amd64 personalizados, tal como lo admiten las últimas versiones de Go, GCC, LLVM y otras herramientas de compilación. [moby/moby#43434](https://github.com/moby/moby/pull/43434)
- Mejorar la validación de solicitudes JSON no válidas en la API. [moby/moby#43463](https://github.com/moby/moby/pull/43463)
- Mitigar el impacto de los inicios lentos de `exec` en las comprobaciones de estado. El tiempo de espera de la comprobación ahora solo se aplica a la duración en que se está ejecutando el comando de comprobación de estado. El tiempo que tarda en iniciarse el comando ya no cuenta para el tiempo de espera. [moby/moby#43480](https://github.com/moby/moby/pull/43480)
- El tamaño de la consola `tty` se establece inmediatamente tras su creación. [moby/moby#43593](https://github.com/moby/moby/pull/43593), [moby/moby#43622](https://github.com/moby/moby/pull/43622)
- Corregir que los montajes `overlay2` no se limpien después de inicios fallidos del contenedor o del apagado del daemon. [moby/moby#43659](https://github.com/moby/moby/pull/43659)
- Coincidir la resolución de la lista de manifiestos con `containerd`. [moby/moby#43675](https://github.com/moby/moby/pull/43675)
- Omitir el uso de `firewalld` para las redes cuando el daemon se está ejecutando en modo rootless. [moby/moby#43813](https://github.com/moby/moby/pull/43813)
- Las redes NAT personalizadas ahora se vuelven a crear después de reiniciar el daemon si faltan en Windows. [moby/moby#43858](https://github.com/moby/moby/pull/43858)
- Corregir la terminación del proceso de comprobación de estado del contenedor cuando se agota su tiempo de espera. [moby/moby#43994](https://github.com/moby/moby/pull/43994)
- Corregir `live-restore` con políticas de reinicio y referencias de volúmenes. [moby/moby#44237](https://github.com/moby/moby/pull/44237)
- API: Ahora solo los volúmenes anónimos se depuran (pruned) por defecto en la versión de la API >= v1.42. Pasa el filtro `all=true` para depurar los volúmenes con nombre además de los anónimos. [moby/moby#44259](https://github.com/moby/moby/pull/44259)
- API: Admitir llamadas concurrentes en el endpoint `GET /system/df`. [moby/moby#42715](https://github.com/moby/moby/pull/42715)
- Mejorar la confiabilidad de que el daemon vuelque la pila y salga con el código 2 cuando se le envía un SIGQUIT. [moby/moby#44831](https://github.com/moby/moby/pull/44831)
- Mejorar la confiabilidad de `docker logs -f` en Windows, y evitar que se omitan saltos de línea en el controlador de logs `local`. [moby/moby#43294](https://github.com/moby/moby/pull/43294)
- Corregir un raro bloqueo mutuo (deadlock) en el daemon causado por el almacenamiento en búfer de los logs del contenedor. [moby/moby#44856](https://github.com/moby/moby/pull/44856)
- Mejorar el manejo de errores en diversas operaciones del sistema de archivos para que el daemon pueda iniciarse en un sistema de archivos subyacente overlayfs. [moby/moby#44834](https://github.com/moby/moby/pull/44834)
- Corregir un problema por el cual `--ipc=host` no se manejaba correctamente cuando el daemon se ejecutaba en modo rootless. [moby/moby#44863](https://github.com/moby/moby/pull/44863)
- Corregir un conjunto de problemas de larga data donde las entradas de conntrack obsoletas causaban un enrutamiento incorrecto del tráfico UDP para los contenedores. [moby/moby#44752](https://github.com/moby/moby/pull/44752)
- Corregir que los contenedores semi-registrados se listen en la API, así como una desreferencia de puntero nulo y pánico causados por el uso de un contenedor parcialmente registrado en las llamadas a la API. [moby/moby#44633](https://github.com/moby/moby/pull/44633)
- Corregir un fallo al crear la cadena de ip6tables `DOCKER-USER`. [moby/moby#44845](https://github.com/moby/moby/pull/44845)
- Corregir un fallo al limpiar las reglas de iptables cuando el comando `ip6tables` no está disponible. [moby/moby#44727](https://github.com/moby/moby/pull/44727)
- Corregir un problema por el cual algunas reglas NAT de iptables no se limpiaban después de habilitar el proxy userland. [moby/moby#44811](https://github.com/moby/moby/pull/44811)
- Corregir un proceso potencialmente filtrado en situaciones raras donde la limpieza de un intento fallido de iniciar un contenedor se manejó de manera incorrecta. [moby/moby#44400](https://github.com/moby/moby/pull/44400)
- Corregir que la hora `CreatedAt` de un volumen refleje la inicialización y no la creación. [moby/moby#44725](https://github.com/moby/moby/pull/44725)
- Corregir un problema por el cual la CLI informaba incorrectamente un servidor incompatible en lugar de un servidor inalcanzable en algunos comandos. [docker/cli#3901](https://github.com/docker/cli/pull/3901), [docker/cli#3904](https://github.com/docker/cli/pull/3904)
- Corregir el completado roto de volúmenes en Zsh. [docker/cli#2998](https://github.com/docker/cli/pull/2998)
- Mejorar la salida de `docker context` cuando hay un contexto no válido presente. [docker/cli#3847](https://github.com/docker/cli/pull/3847)
- Eliminar la decoración ANSI de las anotaciones de ayuda de la CLI cuando la salida no es una TTY, y se añadió una nueva línea para legibilidad. [docker/cli#3973](https://github.com/docker/cli/pull/3973)
- Añadir `docker container remove` como un alias para `docker container rm`. [docker/cli#3986](https://github.com/docker/cli/pull/3986)

### Problemas conocidos

#### apparmor_parser ([hilo de seguimiento](https://github.com/moby/moby/issues/44900))

Algunos usuarios de Debian han reportado problemas con contenedores que no se inician después de actualizar a la rama 23.0.
El mensaje de error indica que el problema se debe a la falta del binario `apparmor_parser`:

```console
Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded: running `apparmor_parser apparmor_parser --version` failed with output:
error: exec: "apparmor_parser": executable file not found in $PATH
Error: failed to start containers: somecontainer
```

La solución alternativa a este problema es instalar el paquete `apparmor` manualmente:

```console
apt-get install apparmor
```

#### Caché en línea de BuildKit ([hilo de seguimiento](https://github.com/moby/moby/issues/44918))

Intentar construir una imagen con la característica de caché en línea de BuildKit (por ejemplo, `docker build --build-arg BUILDKIT_INLINE_CACHE=1 .`, `docker buildx build --cache-to type=inline .`) provocará que el daemon salga inesperadamente:

```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x147ff00]

goroutine 693 [running]:
github.com/docker/docker/vendor/github.com/moby/buildkit/cache.computeBlobChain.func4.1({0x245cca8, 0x4001394960})
        /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/cache/blobs.go:206 +0xc90
github.com/docker/docker/vendor/github.com/moby/buildkit/util/flightcontrol.(*call).run(0x40013c2240)
        /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/util/flightcontrol/flightcontrol.go:121 +0x64
sync.(*Once).doSlow(0x0?, 0x4001328240?)
        /usr/local/go/src/sync/once.go:74 +0x100
sync.(*Once).Do(0x4001328240?, 0x0?)
        /usr/local/go/src/sync/once.go:65 +0x24
created by github.com/docker/docker/vendor/github.com/moby/buildkit/util/flightcontrol.(*call).wait
```

El daemon se reiniciará si está configurado para hacerlo (por ejemplo, a través de systemd) después de dicha caída. La única mitigación disponible en esta versión es evitar realizar construcciones con la característica de caché en línea habilitada.

#### BuildKit con caché caliente ([hilo de seguimiento](https://github.com/moby/moby/issues/44943))

Si se construyó una imagen con BuildKit en una versión anterior del daemon, y se construye con un daemon 23.0, las capas previamente almacenadas en caché no se restaurarán correctamente. La imagen puede parecer construirse correctamente si no se cambia ninguna línea en el Dockerfile; sin embargo, si se produce una invalidación parcial de la caché debido al cambio de algunas líneas en el Dockerfile, las capas aún válidas y previamente almacenadas en caché no se cargarán correctamente.

Esto se presenta con mayor frecuencia como archivos que deberían estar presentes en la imagen pero que no están presentes en una etapa `RUN` u otra etapa que haga referencia a archivos, después de cambiar algunas líneas en el Dockerfile:

```
[+] Building 0.4s (6/6) FINISHED
 => [internal] load build definition from Dockerfile
 => => transferring dockerfile: 102B
 => [internal] load .dockerignore
 => => transferring context: 2B
 => [internal] load metadata for docker.io/library/node:18-alpine
 => [base 1/2] FROM docker.io/library/node:18-alpine@sha256:bc329c7332cffc30c2d4801e38df03cbfa8dcbae2a7a52a449db104794f168a3
 => CACHED [base 2/2] WORKDIR /app
 => ERROR [stage-1 1/1] RUN uname -a
------
 > [stage-1 1/1] RUN uname -a:
#0 0.138 runc run failed: unable to start container process: exec: "/bin/sh": stat /bin/sh: no such file or directory
------
Dockerfile:5
--------------------
   3 |
   4 |     FROM base
   5 | >>> RUN uname -a
   6 |
--------------------
ERROR: failed to solve: process "/bin/sh -c uname -a" did not complete successfully: exit code: 1
```

Para mitigar esto, se debe descartar la caché de construcción anterior. `docker builder prune -a` vaciará por completo la caché de construcción y permitirá que las construcciones afectadas continúen eliminando las capas de caché mal manejadas.

#### redes ipvlan ([hilo de seguimiento](https://github.com/moby/moby/issues/44925))

Al actualizar a la rama 23.0, la existencia de cualquier red [ipvlan](/engine/network/drivers/ipvlan/) impedirá que el daemon se inicie:

```
panic: interface conversion: interface {} is nil, not string

goroutine 1 [running]:
github.com/docker/docker/libnetwork/drivers/ipvlan.(*configuration).UnmarshalJSON(0x40011533b0, {0x400069c2d0, 0xef, 0xef})
        /go/src/github.com/docker/docker/libnetwork/drivers/ipvlan/ipvlan_store.go:196 +0x414
encoding/json.(*decodeState).object(0x4001153440, {0x5597157640?, 0x40011533b0?, 0x559524115c?})
        /usr/local/go/src/encoding/json/decode.go:613 +0x650
encoding/json.(*decodeState).value(0x4001153440, {0x5597157640?, 0x40011533b0?, 0x559524005c?})
        /usr/local/go/src/encoding/json/decode.go:374 +0x40
encoding/json.(*decodeState).unmarshal(0x4001153440, {0x5597157640?, 0x40011533b0?})
        /usr/local/go/src/encoding/json/decode.go:181 +0x204
encoding/json.Unmarshal({0x400069c2d0, 0xef, 0xef}, {0x5597157640, 0x40011533b0})
        /usr/local/go/src/encoding/json/decode.go:108 +0xf4
github.com/docker/docker/libnetwork/drivers/ipvlan.(*configuration).SetValue(0x4000d18050?, {0x400069c2d0?, 0x23?, 0x23?})
        /go/src/github.com/docker/docker/libnetwork/drivers/ipvlan/ipvlan_store.go:230 +0x38
```

Para mitigar esto, los usuarios afectados pueden volver a una versión anterior y eliminar la red, luego actualizar de nuevo.
Como alternativa, se puede eliminar todo el almacén de redes y recrear las redes después de la actualización. El almacén de redes se encuentra en `/var/lib/docker/network/files/local-kv.db`. Si el daemon está utilizando un `--data-root` alternativo, sustituye `/var/lib/docker` por la ruta alternativa.

#### Kata Containers ([hilo de seguimiento](https://github.com/kata-containers/kata-containers/issues/6154))

La rama 23.0 ofrece soporte para los shims de containerd alternativos, como `io.containerd.runsc.v1` (gVisor) e `io.containerd.kata.v2` (Kata Containers).

Al usar el runtime de Kata Containers, salir de una sesión de `exec` detiene el contenedor en ejecución y cuelga la CLI conectada si se abrió una TTY. No existe mitigación en este momento más allá de evitar hacer exec en contenedores que se ejecutan bajo el runtime de Kata.

La causa raíz de este problema es un error de larga data en Moby. Esto se resolverá en una versión futura. Ten en cuenta que el soporte para runtimes OCI alternativos es una nueva característica y que se pueden descubrir problemas similares a medida que más usuarios comiencen a ejercer esta funcionalidad.

