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

Notas de la versión de Docker Engine 20.10

Este documento describe los cambios más recientes, adiciones, problemas conocidos y correcciones para Docker Engine versión 20.10.

20.10.24

2023-04-04

Actualizaciones

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, CVE-2023-28840 y 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 para asegurarse de que no se haya producido una exposición no intencionada.
  • Actualizar github.com/containerd/fifo a v1.1.0 para corregir un pánico potencial moby/moby#45216.
  • Corregir el autocompletado en Bash que faltaba para los plugins de cli instalados docker/cli#4091.

20.10.23

2023-01-19

Esta versión de Docker Engine contiene versiones actualizadas de Docker Compose, Docker Buildx, containerd y algunas correcciones de errores y mejoras menores.

Actualizaciones

  • Actualizar Docker Compose a v2.15.1.
  • Actualizar Docker Buildx a v0.10.0.
  • Actualizar containerd (paquete containerd.io) a v1.6.15.
  • Actualizar el formato de versiones de paquetes para docker-compose-cli para permitir actualizaciones de versiones de distribución docker/docker-ce-packaging#822.
  • Actualizar el runtime de Go a 1.18.10.

Correcciones de errores y mejoras

  • Corregir un problema por el cual docker build fallaba al usar --add-host=host.docker.internal:host-gateway con BuildKit habilitado moby/moby#44650.

  • Revertir seccomp: bloquear llamadas de sockets a AF_VSOCK en el perfil predeterminado moby/moby#44712.

    Este cambio, aunque favorable desde el punto de vista de la seguridad, causó un cambio de comportamiento para algunos casos de uso. Por lo tanto, lo revertimos para garantizar la estabilidad y la compatibilidad para los usuarios afectados.

    Sin embargo, los usuarios de AF_VSOCK en contenedores deben tener en cuenta que esta familia de direcciones (especial) no está configurada actualmente con espacios de nombres en ninguna versión del kernel de Linux, y puede resultar en un comportamiento inesperado, como contenedores que se comunican directamente con los hipervisores del host.

    Las futuras versiones filtrarán AF_VSOCK. Los usuarios que necesiten permitir que los contenedores se comuniquen a través de la familia AF_VSOCK sin espacios de nombres deberán desactivar el confinamiento de seccomp o establecer un perfil seccomp personalizado.

20.10.22

2022-12-16

Esta versión de Docker Engine contiene versiones actualizadas de Docker Compose, Docker Scan, containerd y algunas correcciones de errores y mejoras menores.

Actualizaciones

Correcciones de errores y mejoras

  • Mejorar el mensaje de error al intentar descargar (pull) un formato de imagen no compatible o un artefacto OCI moby/moby#44413, moby/moby#44569.
  • Corregir un problema por el cual se ignoraba el rango de puertos efímeros del host al seleccionar puertos aleatorios para contenedores moby/moby#44476.
  • Corregir errores de ssh: parse error in message type 27 durante docker build en hosts que usan OpenSSH 8.9 o superior moby/moby#3862.
  • seccomp: bloquear llamadas de sockets a AF_VSOCK en el perfil predeterminado moby/moby#44564.

20.10.21

2022-10-25

Esta versión de Docker Engine contiene versiones actualizadas de Docker Compose, Docker Scan, containerd, añade paquetes para Ubuntu 22.10 y algunas correcciones de errores y mejoras menores.

Nuevas características

  • Proporcionar paquetes para Ubuntu 22.10 (Kinetic Kudu).
  • Añadir soporte para allow-nondistributable-artifacts hacia Docker Hub moby/moby#44313.

Actualizaciones

  • Actualizar Docker Compose a v2.12.2.
  • Actualizar Docker Scan a v0.21.0.
  • Actualizar containerd (paquete containerd.io) a v1.6.9.
  • Actualizar la versión integrada de BuildKit para corregir errores de output clipped, log limit 1MiB reached moby/moby#44339.

Correcciones de errores y mejoras

  • Eliminar la restricción experimental de --platform en el completado de bash docker/cli#3824.
  • Corregir un pánico (panic) de Invalid standard handle identifier al registrar Docker Engine como un servicio desde una CLI heredada en Windows moby/moby#44326.
  • Corregir la ejecución de comandos de Git en Cygwin en Windows moby/moby#44332.

20.10.20

2022-10-18

Esta versión de Docker Engine contiene mitigaciones parciales para una vulnerabilidad de Git (CVE-2022-39253), y tiene un manejo actualizado de las referencias de imagen de tipo image:tag@digest.

La vulnerabilidad de Git permite que un repositorio de Git maliciosamente diseñado, cuando se usa como contexto de construcción, copie rutas arbitrarias del sistema de archivos en los contenedores o imágenes resultantes; esto puede ocurrir tanto en el daemon como en los clientes de la API, según las versiones y herramientas en uso.

Las mitigaciones disponibles en esta versión y en otros consumidores de la API del daemon son parciales y solo protegen a los usuarios que construyen un contexto de URL de Git (por ejemplo, git+protocol://). Como la vulnerabilidad aún podría explotarse mediante comandos de Git ejecutados manualmente que interactúan con submódulos y los descargan, los usuarios deben actualizar inmediatamente a una versión parcheada de Git para protegerse contra esta vulnerabilidad. Se pueden encontrar más detalles en el blog de GitHub ("Se anuncian vulnerabilidades de seguridad en Git").

Actualizaciones

  • Actualizar Docker Compose a v2.12.0.
  • Manejo actualizado de las referencias de tipo image:tag@digest. Al descargar una imagen usando image:tag@digest ("descarga por digest"), la resolución de la imagen se realiza a través del digest direccionable por contenido y no se utilizan la image ni la tag. Aunque este comportamiento es el esperado, podría generar confusión y potencialmente ser explotado mediante ingeniería social para ejecutar una imagen que ya esté presente en el almacenamiento local de imágenes. Docker ahora comprueba si el digest coincide con el nombre del repositorio utilizado para descargar la imagen; de lo contrario, generará un error.

Correcciones de errores y mejoras

  • Se añadió una mitigación para CVE-2022-39253, al usar el Builder clásico con una URL de Git como contexto de construcción.
  • Se añadió una mitigación al Builder clásico y se actualizó BuildKit a v0.8.3-31-gc0149372, para CVE-2022-39253.

20.10.19

2022-10-14

Esta versión de Docker Engine incluye algunas correcciones de errores y una versión actualizada de Docker Compose.

Actualizaciones

Correcciones de errores y mejoras

  • Corregir un problema que podía provocar un pánico (panic) durante docker builder prune o docker system prune moby/moby#44122.
  • Corregir un error por el cual el uso de docker volume prune eliminaba volúmenes que aún estaban en uso si el daemon se ejecutaba con "live restore" y se reiniciaba moby/moby#44238.

20.10.18

2022-09-09

Esta versión de Docker Engine incluye una corrección para un problema de seguridad de baja gravedad, algunas correcciones de errores menores y versiones actualizadas de Docker Compose, Docker Buildx, containerd y runc.

Actualizaciones

Correcciones de errores y mejoras

  • Añadir completado de Bash para Docker Compose docker/cli#3752.
  • Corregir un problema por el cual las capacidades de archivo (file-capabilities) no se preservaban durante la construcción moby/moby#43876.
  • Corregir un problema que podía resultar en un pánico causado por una lectura y escritura concurrente en un mapa (map) moby/moby#44067.
  • Corregir una vulnerabilidad de seguridad relacionada con permisos de grupos suplementarios, que podía permitir que un proceso del contenedor eludiera las restricciones del grupo principal dentro del contenedor CVE-2022-36109, GHSA-rc4r-wh2q-q6c4.
  • seccomp: añadir soporte para llamadas al sistema Landlock en la política predeterminada moby/moby#43991.
  • seccomp: actualizar la política predeterminada para admitir nuevas llamadas al sistema introducidas en kernels 5.12 - 5.16 moby/moby#43991.
  • Corregir un problema por el cual fallaba la búsqueda de caché para manifiestos de imágenes, lo que resultaba en un viaje de ida y vuelta redundante al registro de imágenes moby/moby#44109.
  • Corregir un problema por el cual los procesos de exec y las comprobaciones de estado (healthchecks) no se terminaban cuando se agotaba su tiempo de espera moby/moby#44018.

20.10.17

2022-06-06

Esta versión de Docker Engine viene con versiones actualizadas de Docker Compose y los componentes containerd y runc, así como algunas correcciones de errores menores.

Actualizaciones

Correcciones de errores y mejoras

  • Eliminar el asterisco de los comandos de docker en el script de completado de zsh docker/cli#3648.
  • Corregir el conflicto de puertos de Windows con puertos publicados en modo host para overlay moby/moby#43644.
  • Asegurar que el ajuste de rendimiento se aplique siempre a los sandboxes de libnetwork moby/moby#43683.

20.10.16

2022-05-12

Esta versión de Docker Engine corrige una regresión en las compilaciones de la CLI de Docker para macOS, corrige un problema con docker stats al usar containerd 1.5 y versiones superiores, y actualiza el runtime de Go para incluir una corrección para CVE-2022-29526.

Actualizaciones

  • Actualizar la dependencia golang.org/x/sys que contiene una corrección para CVE-2022-29526.
  • Se actualizó la dependencia en tiempo de compilación golang.org/x/sys que contiene una corrección para CVE-2022-29526.
  • Actualizar el runtime de Go a 1.17.10, que contiene una corrección para CVE-2022-29526.

Correcciones de errores y mejoras

  • Se corrigió una regresión en los binarios para macOS introducida en 20.10.15, que provocaba un pánico docker/cli#3592.
  • Se corrigió un problema por el cual docker stats mostraba estadísticas vacías al ejecutarse con containerd 1.5.0 o superior moby/moby#43567.
  • Se utilizaron dependencias "débiles" (weak) para el plugin de la CLI docker scan para evitar un error de "solicitudes en conflicto" cuando los usuarios realizaban una instalación sin conexión desde paquetes RPM descargados docker/docker-ce-packaging#659.

20.10.15

2022-05-05

Esta versión de Docker Engine viene con versiones actualizadas de los componentes compose, buildx, containerd y runc, así como algunas correcciones de errores menores.

Actualizaciones

  • Actualizar Docker Compose a v2.5.0.
  • Actualizar Docker Buildx a v0.8.2.
  • Actualizar el runtime de Go a 1.17.9.
  • Actualizar containerd (paquete containerd.io) a v1.6.4.
  • Actualizar la versión de runc a v1.1.1.

Correcciones de errores y mejoras

  • Usar un RWMutex para stateCounter para evitar la congestión potencial de bloqueos moby/moby#43426.
  • Evitar un problema por el cual el daemon no podía encontrar un rango de IP disponible en algunas condiciones moby/moby#43360.
  • Añadir paquetes para CentOS 9 stream y Fedora 36.

Problemas conocidos

20.10.14

2022-03-23

Esta versión de Docker Engine actualiza las capacidades heredables (inheritable capabilities) predeterminadas para los contenedores para mitigar CVE-2022-24769, y también se incluye una nueva versión del runtime containerd.io para abordar el mismo problema.

Actualizaciones

  • Actualizar las capacidades heredables predeterminadas.
  • Actualizar las capacidades heredables predeterminadas para los contenedores utilizados durante la construcción.
  • Actualizar containerd (paquete containerd.io) a v1.5.11.
  • Actualizar docker buildx a v0.8.1.

20.10.13

2022-03-10

Esta versión de Docker Engine contiene algunas correcciones de errores y cambios de empaquetado, actualizaciones de los comandos docker scan y docker buildx, una versión actualizada del runtime de Go y nuevas versiones del runtime containerd.io. Junto con esta versión, ahora también proporcionamos paquetes .deb y .rpm de Docker Compose V2, que se pueden instalar mediante el paquete (opcional) docker-compose-plugin.

Nuevas características

  • Proporcionar paquetes .deb y .rpm para Docker Compose V2. Docker Compose v2.3.3 ahora se puede instalar en Linux utilizando los paquetes docker-compose-plugin, que proporcionan el subcomando docker compose en la CLI de Docker. El plugin de Docker Compose también se puede instalar y ejecutar de forma independiente como un reemplazo directo para docker-compose (Docker Compose V1) docker/docker-ce-packaging#638. El paquete compose-cli-plugin también se puede usar en versiones anteriores de la CLI de Docker que admitan plugins de CLI (Docker CLI 18.09 y superiores).
  • Proporcionar paquetes para la próxima versión LTS de Ubuntu 22.04 "Jammy Jellyfish" docker/docker-ce-packaging#645, docker/containerd-packaging#271.

Actualizaciones

  • Se actualizó la versión integrada de buildx a v0.8.0.
  • Actualizar docker buildx a v0.8.0.
  • Actualizar docker scan (docker-scan-plugin) a v0.17.0.
  • Actualizar containerd (paquete containerd.io) a v1.5.10.
  • Actualizar la versión integrada de runc a v1.0.3.
  • Actualizar el runtime de Golang a Go 1.16.15.
  • Actualiza el controlador de logs fluentd para evitar un posible pánico del daemon y evitar que los contenedores se queden colgados al usar fluentd-async-connect=true cuando el servidor remoto es inalcanzable moby/moby#43147.

Correcciones de errores y mejoras

  • Corregir una condición de carrera al actualizar el estado del contenedor moby/moby#43166.
  • Actualizar la dependencia etcd para evitar que el daemon retenga incorrectamente los bloqueos de archivos moby/moby#43259.
  • Corregir la detección de espacios de nombres de usuario al configurar la sysctl predeterminada net.ipv4.ping_group_range moby/moby#43084.
  • Reintentar la descarga de manifiestos de imágenes si ocurre un fallo de conexión durante la descarga (pull) de la imagen moby/moby#43333.
  • Varias correcciones en la referencia de la línea de comandos y en la documentación de la API.
  • Evitar un OOM al usar el controlador de logs "local" con contenedores que producen una gran cantidad de mensajes de log moby/moby#43165.

20.10.12

2021-12-13

Esta versión de Docker Engine contiene cambios únicamente en el empaquetado y proporciona actualizaciones de los comandos docker scan y docker buildx. Las versiones de docker scan anteriores a la v0.11.0 no pueden detectar la vulnerabilidad Log4j 2 CVE-2021-44228. Distribuimos una versión actualizada de docker scan en esta versión para ayudarte a escanear tus imágenes en busca de esta vulnerabilidad.

Note

El comando docker scan en Linux actualmente solo es compatible con plataformas x86. Aún no proporcionamos un paquete para otras arquitecturas de hardware en Linux.

La característica docker scan se proporciona como un paquete independiente y, según tu método de actualización o instalación, es posible que 'docker scan' no se actualice automáticamente a la última versión. Utiliza las instrucciones a continuación para actualizar docker scan a la última versión. También puedes usar estas instrucciones para instalar o actualizar el paquete docker scan sin tener que actualizar el Docker Engine:

En distribuciones basadas en .deb, como Ubuntu y Debian:

$ apt-get update && apt-get install docker-scan-plugin

En distribuciones basadas en rpm, como CentOS o Fedora:

$ yum install docker-scan-plugin

Después de actualizar, verifica que tengas instalada la última versión de docker scan:

$ docker scan --accept-license --version
Version:    v0.12.0
Git commit: 1074dd0
Provider:   Snyk (1.790.0 (standalone))

Lee nuestra publicación de blog sobre CVE-2021-44228 para aprender cómo usar el comando docker scan para comprobar si las imágenes son vulnerables.

Empaquetado

  • Actualizar docker scan a v0.12.0.
  • Actualizar docker buildx a v0.7.1.
  • Actualizar el runtime de Golang a Go 1.16.12.

20.10.11

2021-11-17

Important

Debido a cambios en net/http en Go 1.16, los proxies HTTP configurados a través de la variable de entorno $HTTP_PROXY ya no se utilizan para conexiones TLS (https://). Asegúrate de configurar también una variable de entorno $HTTPS_PROXY para manejar solicitudes a URLs https://. Consulta Configurar el daemon para usar un proxy para aprender cómo configurar el Daemon de Docker para usar un servidor proxy.

Distribución

Windows

  • Corregir que el archivo panic.log tenga establecido el atributo de solo lectura moby/moby#42987.

Empaquetado

  • Actualizar containerd a v1.4.12 para mitigar CVE-2021-41190.
  • Actualizar el runtime de Golang a Go 1.16.10.

20.10.10

2021-10-25

Important

Debido a cambios en net/http en Go 1.16, los proxies HTTP configurados a través de la variable de entorno $HTTP_PROXY ya no se utilizan para conexiones TLS (https://). Asegúrate de configurar también una variable de entorno $HTTPS_PROXY para manejar solicitudes a URLs https://. Consulta la sección de proxy HTTP/HTTPS para aprender cómo configurar el Daemon de Docker para usar un servidor proxy.

Constructor (Builder)

  • Corregir la lógica de coincidencia de plataformas para solucionar el problema por el cual docker build no encontraba imágenes en la caché de imágenes local en máquinas Arm al usar BuildKit moby/moby#42954

Ejecución (Runtime)

  • Añadir soporte para la llamada al sistema clone3 en la política de seccomp predeterminada para admitir la ejecución de contenedores basados en versiones recientes de Fedora y Ubuntu. moby/moby/#42836.
  • Windows: actualizar la biblioteca hcsshim para corregir un error en el manejo de archivos dispersos (sparse files) en las capas de contenedores, que quedó expuesto por cambios recientes en Windows moby/moby#42944.
  • Corregir algunas situaciones donde docker stop podía colgarse indefinidamente moby/moby#42956.

Swarm

  • Corregir un problema por el cual la actualización de un servicio no realizaba un rollback en caso de fallo moby/moby#42875.

Empaquetado

  • Añadir paquetes para Ubuntu 21.10 "Impish Indri" y Fedora 35.
  • Actualizar docker scan a v0.9.0
  • Actualizar el runtime de Golang a Go 1.16.9.

20.10.9

2021-10-04

Esta versión es una versión de seguridad con correcciones de seguridad en la CLI, el runtime y versiones actualizadas del paquete containerd.io.

Important

Debido a cambios en net/http en Go 1.16, los proxies HTTP configurados a través de la variable de entorno $HTTP_PROXY ya no se utilizan para conexiones TLS (https://). Asegúrate de configurar también una variable de entorno $HTTPS_PROXY para manejar solicitudes a URLs https://. Consulta la sección de proxy HTTP/HTTPS para aprender cómo configurar el Daemon de Docker para usar un servidor proxy.

Cliente

  • CVE-2021-41092 Asegurar que la configuración de autenticación predeterminada tenga establecido el campo de dirección, para evitar que las credenciales se envíen al registro predeterminado.

Ejecución (Runtime)

  • CVE-2021-41089 Crear directorios principales dentro de un chroot durante docker cp para evitar que un contenedor especialmente diseñado cambie los permisos de los archivos existentes en el sistema de archivos del host.
  • CVE-2021-41091 Restringir los permisos de archivos para evitar que usuarios sin privilegios descubran y ejecuten programas en /var/lib/docker.

Empaquetado

Problema conocido

El binario ctr distribuido con los paquetes estáticos de esta versión no está enlazado estáticamente y no se ejecutará en imágenes de Docker que usen alpine como imagen base. Los usuarios pueden instalar el paquete libc6-compat o descargar una versión anterior del binario ctr como solución alternativa. Consulta el ticket de containerd relacionado con este problema para obtener más detalles: containerd/containerd#5824.

  • Actualizar el runtime de Golang a Go 1.16.8, que contiene correcciones para CVE-2021-36221 y CVE-2021-39293
  • Actualizar los binarios estáticos y los paquetes rpm y deb de containerd.io a containerd v1.4.11 y runc v1.0.2 para abordar CVE-2021-41103.
  • Actualizar la versión integrada de buildx a v0.6.3 para los paquetes rpm y deb.

20.10.8

2021-08-03

Important

Debido a cambios en net/http en Go 1.16, los proxies HTTP configurados a través de la variable de entorno $HTTP_PROXY ya no se utilizan para conexiones TLS (https://). Asegúrate de configurar también una variable de entorno $HTTPS_PROXY para manejar solicitudes a URLs https://. Consulta la sección de proxy HTTP/HTTPS para aprender cómo configurar el Daemon de Docker para usar un servidor proxy.

Depreciación

  • Depreciar el soporte para claves privadas TLS cifradas. El cifrado PEM heredado, como se especifica en RFC 1423, no es seguro por diseño. Debido a que no autentica el texto cifrado, es vulnerable a ataques de padding oracle que pueden permitir a un atacante recuperar el texto plano. El soporte para claves privadas TLS cifradas ahora está marcado como depreciado y se eliminará en una próxima versión. docker/cli#3219
  • Depreciar el soporte de stack de Kubernetes. Tras la depreciación de Compose en Kubernetes, el soporte para Kubernetes en los comandos stack y context en la CLI de Docker ahora está marcado como depreciado y se eliminará en una próxima versión docker/cli#3174.

Cliente

  • Corregir errores de Invalid standard handle identifier en Windows docker/cli#3132.

Modo sin root (Rootless)

  • Evitar el error can't open lock file /run/xtables.lock: Permission denied en hosts con SELinux moby/moby#42462.
  • Deshabilitar overlay2 al ejecutar con SELinux para evitar errores de permiso denegado moby/moby#42462.
  • Corregir el error x509: certificate signed by unknown authority en openSUSE Tumbleweed moby/moby#42462.

Ejecución (Runtime)

  • Mostrar una advertencia al usar la opción --platform para descargar (pull) una imagen de una sola arquitectura que no coincida con la arquitectura especificada moby/moby#42633.
  • Corregir la advertencia incorrecta Your kernel does not support swap memory limit al ejecutarse con cgroups v2 moby/moby#42479.
  • Windows: corregir una situación en la que los contenedores no se detenían si HcsShutdownComputeSystem devolvía un error ERROR_PROC_NOT_FOUND moby/moby#42613.

Swarm

  • Corregir una posibilidad de que existan direcciones IP superpuestas como resultado de que el nodo no limpie sus antiguas IPs del equilibrador de carga moby/moby#42538
  • Corregir un bloqueo mutuo (deadlock) en el agente de logs ("dispatcher is stopped") moby/moby#42537

Empaquetado

Problema conocido

El binario ctr distribuido con los paquetes estáticos de esta versión no está enlazado estáticamente y no se ejecutará en imágenes de Docker que usen alpine como imagen base. Los usuarios pueden instalar el paquete libc6-compat o descargar una versión anterior del binario ctr como solución alternativa. Consulta el ticket de containerd relacionado con este problema para obtener más detalles: containerd/containerd#5824.

20.10.7

2021-06-02

Cliente

  • Suprimir las advertencias para los cgroups obsoletos docker/cli#3099.
  • Evitar el envío de señales SIGURG al contenedor en Linux y macOS. El runtime de Go (a partir de Go 1.14) utiliza señales SIGURG internamente como una interrupción para admitir llamadas al sistema interrumpibles. En situaciones en las que la CLI de Docker estaba acoplada a un contenedor, estas interrupciones se reenviaban al contenedor. Esta corrección cambia la CLI de Docker para ignorar las señales SIGURG docker/cli#3107, moby/moby#42421.

Constructor (Builder)

  • Actualizar BuildKit a la versión v0.8.3-3-g244e8cde moby/moby#42448:
    • Transformar puntos de montaje relativos para montajes de tipo exec en el ejecutor para solucionar un cambio importante en runc v1.0.0-rc94 y superiores. moby/buildkit#2137.
    • Añadir reintento en errores 5xx al subir (push) imágenes. moby/buildkit#2043.
    • Corregir que la caché de construcción no se invalide al renombrar un archivo que se copia usando un comando COPY con un comodín. Ten en cuenta que este cambio invalida las cachés de construcción existentes para los comandos copy que usan un comodín. moby/buildkit#2018.
    • Corregir que la caché de construcción no se invalide al usar montajes moby/buildkit#2076.
  • Corregir fallos de construcción cuando la imagen FROM no está en caché al usar imágenes del esquema 1 heredado moby/moby#42382.

Registro de logs (Logging)

  • Actualizar el SDK de hcsshim para que los logs del daemon en Windows sean menos detallados moby/moby#42292.

Modo sin root (Rootless)

  • Corregir que no se respeten las capacidades cuando se construyó una imagen en un daemon con espacios de nombres de usuario habilitados moby/moby#42352.

Redes (Networking)

  • Actualizar libnetwork para corregir la publicación de puertos en entornos con el parámetro de arranque del kernel ipv6.disable=1, y corregir un bloqueo mutuo (deadlock) que provoca fallos en las búsquedas internas de DNS moby/moby#42413.

Contrib

  • Actualizar rootlesskit a v0.14.2 para corregir un tiempo de espera al iniciar el proxy userland con el controlador de puertos slirp4netns moby/moby#42294.
  • Corregir errores de "Device or resource busy" al ejecutar docker-in-docker en un daemon sin privilegios (rootless) moby/moby#42342.

Empaquetado

20.10.6

2021-04-12

Cliente

  • Soporte de Apple Silicon (darwin/arm64) para la CLI de Docker docker/cli#3042
  • config: mostrar advertencia de depreciación al recurrir al archivo de configuración anterior a v1.7.0 ~/.dockercfg. El soporte para este archivo se eliminará en una versión futura docker/cli#3000

Constructor (Builder)

  • Corregir que el builder clásico ignore silenciosamente las opciones no admitidas del Dockerfile y sugerir habilitar BuildKit en su lugar moby/moby#42197

Registro de logs (Logging)

  • json-file: corregir errores esporádicos e inesperados de EOF moby/moby#42174

Redes (Networking)

  • Corregir una regresión en docker 20.10 que provocaba que las direcciones IPv6 ya no se vincularan de forma predeterminada al mapear puertos moby/moby#42205
  • Corregir que los mapeos de puertos IPv6 implícitos no se incluyeran en la respuesta de la API. Antes de docker 20.10, los puertos publicados eran accesibles tanto a través de IPv4 como de IPv6 de forma predeterminada, pero la API solo incluía información sobre el mapeo de IPv4 (0.0.0.0) moby/moby#42205
  • Corregir una regresión en docker 20.10 que provocaba que el docker-proxy no se terminara en todos los casos moby/moby#42205
  • Corregir que las reglas de reenvío de iptables no se limpiaran al eliminar el contenedor moby/moby#42205

Empaquetado

Plugins

  • Corregir que docker plugin create creara plugins incompatibles con versiones anteriores de Docker moby/moby#42256

Modo sin root (Rootless)

20.10.5

2021-03-02

Cliente

  • Revertir docker/cli#2960 para corregir bloqueos en docker start --attach y eliminar mensajes espurios de Unsupported signal: <nil>. Discarding. docker/cli#2987.

20.10.4

2021-02-26

Constructor (Builder)

  • Corregir coincidencia de caché incorrecta para importación de caché en línea con capas vacías moby/moby#42061
  • Actualizar BuildKit a v0.8.2 moby/moby#42061
    • resolver: evitar la caché de errores en la obtención de tokens
    • fileop: corregir suma de comprobación (checksum) para que contenga los índices de las entradas, evitando ciertos fallos de caché
    • Corregir problemas de recuento de referencias en errores con referencias de montaje (corrigiendo errores de invalid mutable ref)
    • git: establecer el token solo para el acceso remoto principal, permitiendo la clonación de submódulos con diferentes credenciales
  • Asegurar que las secciones binarias (blobs) se eliminen en /var/lib/docker/buildkit/content/blobs/sha256 tras la descarga. Para limpiar el estado anterior, ejecuta builder prune moby/moby#42065
  • Corregir la regresión de sincronización de descargas paralelas moby/moby#42049
  • Asegurar que los archivos de estado de libnetwork no se filtren moby/moby#41972

Cliente

  • Corregir un pánico (panic) al ejecutar docker login si no hay un archivo de configuración presente docker/cli#2959
  • Corregir WARNING: Error loading config file: .dockercfg: $HOME is not defined docker/cli#2958

Ejecución (Runtime)

  • docker info: silenciar advertencias no gestionables moby/moby#41958
  • Evitar la creación de directorios principales para XGlobalHeader moby/moby#42017
  • Usar permisos 0755 al crear directorios faltantes moby/moby#42017
  • Recurrir a la lista de manifiestos cuando ninguna plataforma coincida en la configuración de la imagen moby/moby#42045 moby/moby#41873
  • Corregir pánico (panic) del daemon en configuraciones con un runtime predeterminado personalizado configurado moby/moby#41974
  • Corregir un pánico (panic) cuando la configuración del daemon está vacía moby/moby#41976
  • Corregir pánico del daemon al iniciar el contenedor con una regla de cgroup de dispositivo no válida moby/moby#42001
  • Corregir la opción userns-remap cuando el nombre de usuario y el UID coinciden moby/moby#42013
  • estático: actualizar el binario de runc a v1.0.0-rc93 moby/moby#42014

Registrador de logs (Logger)

  • Respetar la configuración labels-regex incluso si labels no está establecido moby/moby#42046
  • Manejar mensajes de log largos correctamente, evitando que awslogs en modo no bloqueante divida eventos mayores de 16kB moby/moby#41975

Modo sin root (Rootless)

  • Evitar que el servicio se cuelgue al detenerse configurando KillMode de systemd como mixed moby/moby#41956
  • dockerd-rootless.sh: añadir protección contra errores tipográficos moby/moby#42070
  • Actualizar rootlesskit a v0.13.1 para corregir el manejo de direcciones IPv6 moby/moby#42025
  • permitir la creación de nodos especiales (mknod) de tipo FIFO dentro de userns moby/moby#41957

Seguridad

  • perfiles: seccomp: actualizar a la lista de llamadas al sistema de Linux 5.11 moby/moby#41971

Swarm

  • Corregir el problema por el cual el latido (heartbeat) no persistía al reiniciar moby/moby#42060
  • Corregir tareas potencialmente estancadas moby/moby#42060
  • Corregir las banderas --update-order y --rollback-order cuando solo se proporciona --update-order o --rollback-order docker/cli#2963
  • Corregir que docker service rollback devuelva un código de salida no nulo en algunas situaciones docker/cli#2964
  • Corregir la dirección inconsistente de la barra de progreso en docker service rollback docker/cli#2964

20.10.3

2021-02-01

Seguridad

  • CVE-2021-21285 Evitar que una imagen no válida bloquee el daemon de Docker
  • CVE-2021-21284 Restringir los permisos de archivos para evitar que el root remapeado acceda al estado de docker
  • Asegurar que se apliquen los perfiles AppArmor y SELinux al construir con BuildKit

Cliente

  • Comprobar contextos antes de importarlos para reducir el riesgo de que los archivos extraídos escapen del almacén de contextos
  • Windows: evitar la ejecución de ciertos binarios desde el directorio actual docker/cli#2950

20.10.2

2021-01-04

Ejecución (Runtime)

  • Corregir el cuelgue al inicio del daemon al restaurar contenedores con políticas de reinicio pero que no paran de fallar al iniciarse moby/moby#41729
  • overlay2: corregir un error de tipo off-by-one (desfase por uno) que impedía construir o ejecutar contenedores cuando data-root tenía 24 bytes de longitud moby/moby#41830
  • systemd: enviar sd_notify STOPPING=1 al apagarse moby/moby#41832

Redes (Networking)

Swarm

  • Corregir el filtrado para los modos de servicio replicated-job y global-job moby/moby#41806

Empaquetado

20.10.1

2020-12-14

Constructor (Builder)

Empaquetado

20.10.0

2020-12-08

Depreciación / Eliminación

Para obtener una descripción general de todas las características depreciadas, consulta la página Características del motor depreciadas.

  • Advertencias y aviso de depreciación al realizar docker pull desde registros no conformes que no admiten la descarga por digest (pull-by-digest) docker/cli#2872
  • Advertencias más severas y aviso de depreciación para el acceso tcp no autenticado moby/moby#41285
  • Depreciar KernelMemory (docker run --kernel-memory) moby/moby#41254 docker/cli#2652
  • Depreciar el controlador de almacenamiento aufs docker/cli#1484
  • Depreciar host-discovery y redes overlay con almacenes k/v externos moby/moby#40614 moby/moby#40510
  • Depreciar la sintaxis heredada de Dockerfile 'ENV nombre valor', usa ENV nombre=valor en su lugar docker/cli#2743
  • Eliminar el parámetro obsoleto "filter" para la API v1.41 y superiores moby/moby#40491
  • Deshabilitar el esquema 1 del manifiesto de distribución v2 al subir (push) moby/moby#41295
  • Eliminar el truco MalformedHostHeaderOverride que rompía a los clientes antiguos de docker (<= 1.12), en cuyo caso se debe establecer DOCKER_API_VERSION moby/moby#39076
  • Eliminar los subcomandos "docker engine" docker/cli#2207
  • Eliminar el campo experimental "deploy" de los archivos "dab" docker/cli#2216
  • Eliminar las banderas obsoletas docker search --automated y --stars docker/cli#2338
  • Ya no se permiten espacios de nombres reservados en las etiquetas del motor docker/cli#2326

API

  • Actualizar la versión de la API a v1.41
  • No requerir "experimental" para la API de métricas moby/moby#40427
  • GET /events ahora devuelve eventos prune después de que se haya completado la depuración de recursos moby/moby#41259
    • Los eventos prune se devuelven para container, network, volume, image y builder, y tienen un atributo reclaimed que indica la cantidad de espacio recuperado (en bytes).
  • Añadir la opción de estadísticas de un solo intento (one-shot) para no inicializar las estadísticas moby/moby#40478
  • Añadir información de la versión del sistema operativo a la API de información del sistema (/info) moby/moby#38349
  • Añadir DefaultAddressPools a la información de docker moby/moby#40714
  • Añadir soporte en la API para PidsLimit en los servicios moby/moby#39882

Constructor (Builder)

  • buildkit, dockerfile: Soporte para las opciones de RUN --mount sin necesidad de especificar la directiva experimental del dockerfile #syntax. moby/buildkit#1717
  • dockerfile: El comando ARG ahora admite la definición de múltiples argumentos de construcción en la misma línea, similar a ENV moby/buildkit#1692
  • dockerfile: La bandera --chown en ADD ahora permite la expansión de parámetros moby/buildkit#1473
  • buildkit: La obtención de tokens de autorización se ha movido al lado del cliente (si el cliente lo admite). Las contraseñas ya no se filtran en el daemon de construcción y los usuarios pueden ver en la salida de la construcción cuándo se accede a las credenciales o tokens. moby/buildkit#1660
  • buildkit: Los errores de conexión durante la comunicación con el registro para subir y descargar (push/pull) ahora activan un reintento moby/buildkit#1791
  • buildkit: El origen de Git ahora admite la autenticación por token a través de secretos de construcción moby/moby#41234 docker/cli#2656 moby/buildkit#1533
  • buildkit: La construcción a partir de un origen de git ahora admite el reenvío del socket SSH para la autenticación moby/buildkit#1782
  • buildkit: Evitar que las construcciones que generan logs excesivos provoquen una caída o ralenticen la construcción. Se realiza un recorte de los logs si es necesario. moby/buildkit#1754
  • buildkit: Cambiar el perfil de Seccomp predeterminado por el proporcionado por Docker moby/buildkit#1807
  • buildkit: Se ha mejorado el soporte para exponer el socket del agente SSH en Windows moby/buildkit#1695
  • buildkit: Desactivar el truncado de forma predeterminada cuando se utiliza --progress=plain moby/buildkit#1435
  • buildkit: Permitir un mejor manejo de las sesiones de clientes que se caen mientras son compartidas por múltiples construcciones moby/buildkit#1551
  • buildkit: secrets: permitir proporcionar secretos con env moby/moby#41234 docker/cli#2656 moby/buildkit#1534
    • Soporte para --secret id=foo,env=MY_ENV como alternativa a almacenar un valor de secreto en un archivo.
    • --secret id=GIT_AUTH_TOKEN cargará env si existe y el archivo no.
  • buildkit: Soporte para alternativas de espejos (mirrors fallbacks), TLS no seguro y configuración TLS personalizada moby/moby#40814
  • buildkit: remotecache: Visitar cada elemento solo una vez al recorrer los resultados moby/moby#41234 moby/buildkit#1577
    • Mejora el rendimiento y el uso de CPU en gráficos más grandes.
  • buildkit: Comprobar el remoto cuando la plataforma de la imagen local no coincide moby/moby#40629
  • buildkit: exportación de imágenes: Utilizar el tipo de medio correcto al crear nuevos blobs de capas moby/moby#41234 moby/buildkit#1541
  • buildkit: progressui: corregir el formato de hora de los logs moby/moby#41234 docker/cli#2656 moby/buildkit#1549
  • buildkit: mitigar el problema de containerd en la subida (push) paralela moby/moby#41234 moby/buildkit#1548
  • buildkit: inline cache: corregir el manejo de blobs duplicados moby/moby#41234 moby/buildkit#1568
  • Permitir ssh:// para las URLs de contexto remoto moby/moby#40179
  • builder: eliminar el manejo de sesiones de la construcción heredada (era experimental) moby/moby#39983

Cliente

  • Añadir soporte para trabajos (jobs) de swarm a la CLI docker/cli#2262
  • Añadir -a/--all-tags a docker push docker/cli#2220
  • Añadir soporte para la autenticación por usuario/contraseña de Kubernetes docker/cli#2308
  • Añadir --pull=missing|always|never a los comandos run y create docker/cli#1498
  • Añadir la bandera --env-file a docker exec para analizar variables de entorno desde un archivo docker/cli#2602
  • Añadir el atajo -n para la opción --tail docker/cli#2646
  • Añadir controlador de logs y opciones al formato "pretty" de service inspect docker/cli#1950
  • docker run: especificar el modo del espacio de nombres cgroup con --cgroupns docker/cli#2024
  • Comando docker manifest rm para eliminar el borrador de la lista de manifiestos del almacenamiento local docker/cli#2449
  • Añadir "context" a "docker version" y "docker info" docker/cli#2500
  • Propagar la bandera de plataforma a la API de creación de contenedores docker/cli#2551
  • La bandera docker ps --format ahora tiene un marcador de posición .State para imprimir el estado del contenedor sin detalles adicionales sobre el tiempo de actividad y la comprobación de estado docker/cli#2000
  • Añadir soporte para el esquema v3.9 de docker-compose docker/cli#2073
  • Añadir soporte para docker push --quiet docker/cli#2197
  • Ocultar las banderas que no son compatibles con BuildKit, si BuildKit está habilitado docker/cli#2123
  • Actualizar la descripción de la bandera para docker rm -v para aclarar que la opción solo elimina volúmenes anónimos (sin nombre) docker/cli#2289
  • Mejorar la impresión de tareas para servicios de docker docker/cli#2341
  • docker info: listar los plugins de la CLI alfabéticamente docker/cli#2236
  • Corregir el orden de procesamiento de las banderas --label-add/--label-rm, --container-label-add/--container-label-rm y --env-add/--env-rm en docker service update para permitir la sustitución de valores existentes docker/cli#2668
  • Corregir que docker rm --force devuelva un código de salida no nulo si uno o más contenedores no existían docker/cli#2678
  • Mejorar la visualización de las estadísticas de memoria utilizando total_inactive_file en lugar de cache docker/cli#2415
  • Mitigar los archivos YAML que tienen un exceso de alias docker/cli#2117
  • Permitir el uso de sintaxis avanzada al configurar una configuración o un secreto con solo el campo de origen (source) docker/cli#2243
  • Corregir la lectura de archivos de configuración que contienen autenticación de username y password incluso si auth está vacío docker/cli#2122
  • docker cp: evitar NPE al fallar el stat en el destino docker/cli#2221
  • config: preservar el propietario y los permisos en el archivo de configuración configfile docker/cli#2228

Registro de logs (Logging)

  • Admitir la lectura de docker logs con todos los controladores de logs (el mejor esfuerzo, best effort) moby/moby#40543
  • Añadir la opción de log splunk-index-acknowledgment para trabajar con Splunk HECs con confirmación de índice habilitada moby/moby#39987
  • Añadir metadatos parciales a los logs de journald moby/moby#41407
  • Reducir las asignaciones del lector de archivos de log moby/moby#40796
  • Fluentd: añadir fluentd-async, fluentd-request-ack y depreciar fluentd-async-connect moby/moby#39086

Ejecución (Runtime)

  • Soporte para cgroup2 moby/moby#40174 moby/moby#40657 moby/moby#40662
  • cgroup2: usar el controlador cgroup "systemd" por defecto cuando esté disponible moby/moby#40846
  • nuevo controlador de almacenamiento: fuse-overlayfs moby/moby#40483
  • Actualizar el binario de containerd a v1.4.3 moby/moby#41732
  • docker push ahora tiene como valor predeterminado la etiqueta latest en lugar de todas las etiquetas moby/moby#40302
  • Se añadió la capacidad de cambiar el número de intentos de reconexión durante la pérdida de conexión mientras se descarga una imagen añadiendo max-download-attempts al archivo de configuración moby/moby#39949
  • Añadir soporte para containerd v2 shim utilizando el runtime predeterminado actual io.containerd.runc.v2 moby/moby#41182
  • cgroup v1: cambiar el runtime predeterminado a io.containerd.runc.v2. Requiere containerd v1.3.0 o posterior. Se recomienda v1.3.5 o posterior moby/moby#41210
  • Iniciar contenedores en sus propios espacios de nombres cgroup moby/moby#38377
  • Habilitar búsquedas DNS para volúmenes CIFS moby/moby#39250
  • Usar MemAvailable en lugar de MemFree para estimar la memoria real disponible moby/moby#39481
  • La bandera --device en docker run ahora se respetará cuando el contenedor se inicie en modo privilegiado moby/moby#40291
  • Aplicar restricciones a las etiquetas internas reservadas moby/moby#40394
  • Aumentar el límite mínimo de memoria a 6M para tener en cuenta el mayor uso de memoria por parte de los runtimes durante el inicio del contenedor moby/moby#41168
  • dependencias de runc v1.0.0-rc92 moby/moby#41344 moby/moby#41317
  • info: añadir advertencias sobre la falta de soporte para cgroup blkio moby/moby#41083
  • Aceptar especificación de plataforma al crear el contenedor moby/moby#40725
  • Corregir el manejo de la búsqueda de nombres de usuario y de grupo con espacios moby/moby#41377

Redes (Networking)

Empaquetado

Modo sin root (Rootless)

Seguridad

  • Corregir CVE-2019-14271 de carga de configuración basada en nsswitch dentro de chroot bajo Glibc moby/moby#39612
  • seccomp: whitelist de clock_adjtime. Aún se requiere CAP_SYS_TIME para el ajuste de hora moby/moby#40929
  • seccomp: Añadir openat2 y faccessat2 al perfil seccomp predeterminado moby/moby#41353
  • seccomp: permitir la llamada al sistema 'rseq' en el perfil seccomp predeterminado moby/moby#41158
  • seccomp: permitir la llamada al sistema membarrier moby/moby#40731
  • seccomp: lista blanca para llamadas al sistema relacionadas con io-uring moby/moby#39415
  • Añadir sysctls predeterminadas para permitir sockets de ping y puertos privilegiados sin capacidades moby/moby#41030
  • Corregir el perfil seccomp para la llamada al sistema clone moby/moby#39308

Swarm