Notas de la versión de Docker Engine 18.09
Nota:
Con esta versión, el daemon, el cliente y el runtime del contenedor se distribuyen ahora en paquetes separados. Al actualizar, debes actualizar todos los paquetes al mismo tiempo para obtener las últimas versiones de parches para cada uno. Por ejemplo, en Ubuntu:
$ sudo apt-get install docker-ce docker-ce-cli containerd.ioConsulta las instrucciones de instalación para la distribución de Linux correspondiente para obtener más detalles.
18.09.9
2019-09-03
Cliente
- Corregir la detección de rutas absolutas de Windows en sistemas que no son Windows docker/cli#1990
- Corregir que Docker se niegue a cargar la clave desde delegation.key en Windows docker/cli#1968
- Actualizaciones en los scripts de autocompletado para bash y zsh
Registro de logs (Logging)
- Corregir la lectura de logs de journald moby/moby#37819 moby/moby#38859
Redes (Networking)
- Evitar pánico (panic) al adjuntar una red a un contenedor con redes deshabilitadas moby/moby#39589
- Corregir que el puerto de servicio para una aplicación deje de estar disponible de forma aleatoria docker/libnetwork#2069
- Corregir la limpieza de redes
--config-onlycuando las redes--config-fromhan finalizado de forma inesperada docker/libnetwork#2373
Ejecución (Runtime)
- Actualizar a Go 1.11.13
- Corregir un pánico (panic) potencial del engine al utilizar la cuota de disco XFS para contenedores moby/moby#39644
Swarm
- Corregir errores "grpc: received message larger than max" moby/moby#39306
- Corregir un problema por el cual no se podían eliminar varias tareas de los nodos docker/swarmkit#2867
18.09.8
2019-07-17
Ejecución (Runtime)
- Ocultar (mask) los secretos actualizados en los archivos de log al ejecutar Docker Engine en modo de depuración (debug). CVE-2019-13509: Si un motor Docker se está ejecutando en modo de depuración y se utiliza
docker stack deploypara volver a desplegar una pila (stack) que incluye secretos no externos, los logs contendrán el secreto.
Cliente
- Corregida la interpolación del tipo de configuración de rollback para los campos
parallelismymax_failure_ratio.
Problema conocido
- Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o posterior.
18.09.7
2019-06-27
Constructor (Builder)
- Corregido un error de pánico (panic) al construir dockerfiles que contienen solo comentarios moby/moby#38487
- Añadida una solución alternativa (workaround) para el problema de autenticación de GCR moby/moby#38246
- Builder-next: Corregido un error en la implementación de la caché del token de GCR como solución alternativa moby/moby#39183
Redes (Networking)
- Corregido un error donde
--network-rmfallaba al eliminar una red moby/moby#39174
Ejecución (Runtime)
- Añadidas optimizaciones de rendimiento en aufs y almacenamiento de capas que ayudan en la creación y eliminación masivamente paralela de contenedores moby/moby#39107, moby/moby#39135
- Actualizar containerd a la versión 1.2.6 moby/moby#39016
- Corregido CVE-2018-15664 ataque de intercambio de enlaces simbólicos (symlink-exchange) con recorrido de directorios moby/moby#39357
- Windows: corregido soporte para
docker service create --limit-cpumoby/moby#39190 - daemon: corregido un problema de validación de espejos (mirrors) moby/moby#38991
- Docker ya no admite el ordenamiento de rangos de UID y GID en los mapas de ID moby/moby#39288
Registro de logs (Logging)
- Añadida una corrección que ahora permite líneas de log grandes para plugins de registro de logs moby/moby#39038
Problema conocido
- Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o posterior.
18.09.6
2019-05-06
Constructor (Builder)
- Corregido
COPYyADDcon múltiples<src>para no invalidar la caché siDOCKER_BUILAKIT=1moby/moby#38964
Redes (Networking)
- Limpieza del proveedor de clúster al cerrar el agente docker/libnetwork#2354
- Windows: Ahora selecciona un puerto de host aleatorio si el usuario no especifica un puerto de host docker/libnetwork#2369
Problemas conocidos
- Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o posterior.
18.09.5
2019-04-11
Constructor (Builder)
- Corregido
DOCKER_BUILDKIT=1 docker build --squash ..docker/engine#176
Cliente
- Corregido el error de tamaño inicial de tty docker/cli#1775
- Corregida la fuga de goroutines de dial-stdio docker/cli#1795
- Corregido el selector del stack informer utilizado para rastrear el despliegue docker/cli#1794
Redes (Networking)
- Corregido
network=hostque utilizaba unresolv.confincorrecto consystemd-resolveddocker/engine#180 - Corregido que las entradas ARP de Windows se corrompan aleatoriamente bajo carga docker/engine#192
Ejecución (Runtime)
- Ahora se muestran los contenedores detenidos con política de reinicio como
Restartingdocker/engine#181 - Ahora se utiliza la especificación de proceso original para execs docker/engine#178
Modo Swarm (Swarm Mode)
- Corregida la fuga de recursos de tareas al eliminar nodos docker/engine#185
Problemas conocidos
- Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o posterior.
18.09.4
2019-03-28
Constructor (Builder)
- Corregido CVE-2019-13139 añadiendo validación para
git refpara evitar su mala interpretación como bandera moby/moby#38944
Ejecución (Runtime)
- Corregido el error de
docker cppara nombres de archivo superiores a 100 caracteres moby/moby#38634 - Corregido
layer/layer_storepara asegurar que se liberen los recursos deNewInputTarStreammoby/moby#38413 - Aumentado el límite de GRPC para
GetConfigsmoby/moby#38800 - Actualizado
containerda la versión 1.2.5 docker/engine#173
Modo Swarm (Swarm Mode)
- Corregida la excepción de puntero nulo al unir un nodo a swarm moby/moby#38618
- Corregido el problema por el cual los nodos de swarm no podían unirse como masters si se configuraba un proxy http [moby/moby#36951]
Problemas conocidos
- Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o posterior.
18.09.3
2019-02-28
Correcciones de redes
- Windows: ahora evita la regeneración de IDs de red para prevenir referencias rotas a las redes docker/engine#149
- Windows: Corregido un problema para abordar que la bandera
- restart alwaysen contenedores independientes no funcionara al especificar una red (docker/escalation#1037) - Corregido un problema para abordar el estado IPAM desde networkdb si el manager no está adjunto a la red overlay (docker/escalation#1049)
Correcciones y actualizaciones de ejecución (Runtime)
- Actualizado a la versión de Go 1.10.8
- Modificados los nombres en el generador de nombres de contenedores docker/engine#159
- Al copiar una carpeta existente, ahora se ignoran los errores de configuración de xattr cuando el sistema de archivos de destino no admite xattr docker/engine#135
- Graphdriver: corregido que no se detecte el modo "dispositivo" (device) si el bit de "dispositivo de caracteres" está establecido docker/engine#160
- Corregida la desreferencia de puntero nulo al fallar la conexión con containerd docker/engine#162
- Eliminado el objeto containerd obsoleto al fallar el inicio docker/engine#154
Problemas conocidos
- Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o superior.
18.09.2
2019-02-11
Correcciones de seguridad
- Actualizar
runcpara mitigar una vulnerabilidad crítica que permite a contenedores especialmente diseñados obtener privilegios administrativos en el host CVE-2019-5736 - Los clientes de Ubuntu 14.04 que utilicen un kernel 3.13 deberán actualizar a un kernel de Ubuntu 4.x compatible
Para obtener información adicional, consulta la publicación en el blog de Docker.
Problemas conocidos
- Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o superior.
18.09.1
2019-01-09
Notas importantes sobre esta versión
En versiones de Docker anteriores a la 18.09, containerd era gestionado por el daemon del motor de Docker. En Docker Engine 18.09, containerd es gestionado por systemd. Dado que containerd es gestionado por systemd, cualquier configuración personalizada en la configuración de systemd de docker.service que cambie los ajustes de montaje (por ejemplo, MountFlags=slave) rompe las interacciones entre el daemon de Docker Engine y containerd, y no podrás iniciar contenedores.
Ejecuta el siguiente comando para obtener el valor actual de la propiedad MountFlags para el docker.service:
$ sudo systemctl show --property=MountFlags docker.service
MountFlags=
Actualiza tu configuración si este comando imprime un valor no vacío para MountFlags y reinicia el servicio docker.
Correcciones de seguridad
- Se actualizó el lenguaje Go a la versión 1.10.6 para resolver CVE-2018-16873, CVE-2018-16874 y CVE-2018-16875.
- Corregido el plugin authz para contenido de longitud 0 y validación de rutas.
- Añadido
/proc/asounda las rutas enmascaradas docker/engine#126
Mejoras
- Actualizado a BuildKit 0.3.3 docker/engine#122
- Actualizado a containerd 1.2.2 docker/engine#144
- Se proporcionaron advertencias adicionales para el uso de los controladores de almacenamiento obsoletos overlay heredado y devicemapper docker/engine#85
- prune: realizar la depuración de imágenes antes de la depuración de la caché de construcción docker/cli#1532
- Añadido autocompletado en bash para comandos experimentales de CLI (manifest) docker/cli#1542
- Windows: permitir aislamiento de procesos en Windows 10 docker/engine#81
Correcciones
- Deshabilitar la contabilidad de kmem en runc en RHEL/CentOS (docker/escalation#614, docker/escalation#692) docker/engine#121
- Corregida la configuración de red ineficiente docker/engine#123
- Corregido que
docker system pruneno acepte el filtro until docker/engine#122 - Evitar credenciales no establecidas en
containerddocker/engine#122 - Corregida la compatibilidad de iptables en Debian docker/engine#107
- Corregido el establecimiento del esquema predeterminado en tcp para el host de docker docker/cli#1454
- Corregido el autocompletado en bash para
service update --forcedocker/cli#1526 - Windows: Intento de DetachVhd en la limpieza docker/engine#113
- API: manejar adecuadamente el JSON no válido para devolver un estado 400 docker/engine#110
- API: ignorar address-pools predeterminados en API < 1.39 docker/engine#118
- API: añadir campos de conjunto de direcciones predeterminados que faltaban a swagger docker/engine#119
- awslogs: tener en cuenta la normalización UTF-8 en los límites docker/engine#112
- Prohibir la lectura de más de 1MB en respuestas de error HTTP docker/engine#114
- apparmor: permitir la recepción de señales desde
docker killdocker/engine#116 - overlay2: usar index=off si es posible (corregir EBUSY al montar) docker/engine#84
Empaquetado
- Añadir requisito de docker.socket para docker.service docker/docker-ce-packaging#276
- Añadir activación de socket para distribuciones basadas en RHEL docker/docker-ce-packaging#274
- Añadir requisito de libseccomp para paquetes RPM docker/docker-ce-packaging#266
Problemas conocidos
- Al actualizar de la versión 18.09.0 a la 18.09.1,
containerdno se actualiza a la versión correcta en Ubuntu. - Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o superior.
18.09.0
2018-11-08
Notas importantes sobre esta versión
En versiones de Docker anteriores a la 18.09, containerd era gestionado por el daemon del motor de Docker. En Docker Engine 18.09, containerd es gestionado por systemd. Dado que containerd es gestionado por systemd, cualquier configuración personalizada en la configuración de systemd de docker.service que cambie los ajustes de montaje (por ejemplo, MountFlags=slave) rompe las interacciones entre el daemon de Docker Engine y containerd, y no podrás iniciar contenedores.
Ejecuta el siguiente comando para obtener el valor actual de la propiedad MountFlags para el docker.service:
$ sudo systemctl show --property=MountFlags docker.service
MountFlags=
Actualiza tu configuración si este comando imprime un valor no vacío para MountFlags y reinicia el servicio docker.
Nuevas características
- Actualizada la versión de la API a 1.39 moby/moby#37640
- Añadido soporte para conexiones remotas usando SSH docker/cli#1014
- Constructor: añadidas opciones de prune a la API moby/moby#37651
- Añadido "Warnings" al endpoint
/infoy mover la detección al daemon moby/moby#37502 - Permitir que las construcciones de BuildKit se ejecuten sin el modo experimental habilitado. Buildkit ahora se puede configurar con una opción en daemon.json moby/moby#37593 moby/moby#37686 moby/moby#37692 docker/cli#1303 docker/cli#1275
- Añadido soporte para secretos en tiempo de construcción usando una bandera
--secretal usar BuildKit docker/cli#1288 - Añadido reenvío del socket del agente SSH (
docker build --ssh $SSHMOUNTID=$SSH_AUTH_SOCK) al usar BuildKit docker/cli#1438 / docker/cli#1419 - Añadido soporte de la bandera
--chownpara los comandosADDyCOPYen Windows moby/moby#35521 - Añadido el subcomando
builder prunepara depurar la caché de construcción de BuildKit docker/cli#1295 docker/cli#1334 - BuildKit: Añade política de recolección de basura configurable para la caché de construcción de BuildKit docker/engine#59 / moby/moby#37846
- BuildKit: Añade soporte para
docker build --pull ...al usar BuildKit moby/moby#37613 - BuildKit: Añade soporte para "registry-mirrors" y "insecure-registries" al usar BuildKit docker/engine#59 / moby/moby#37852
- BuildKit: Habilita modos de red y bridge moby/moby#37620
- Añadido el subcomando
docker enginepara gestionar el ciclo de vida de un Docker Engine que se ejecuta como un contenedor privilegiado sobre containerd, y para permitir actualizaciones a Docker Engine Enterprise docker/cli#1260 - Expuesta la licencia del producto en la salida de
docker infodocker/cli#1313 - Se muestran las advertencias generadas por el daemon en la salida de
docker infodocker/cli#1225 - Añadido el controlador de logs "local" moby/moby#37092
- Amazon CloudWatch: añade la opción de registro de logs
awslogs-endpointmoby/moby#37374 - Añadido soporte para conjuntos de direcciones IP predeterminados globales moby/moby#37558 docker/cli#1233
- Configurado el nivel de log de containerd para que sea el mismo que el de dockerd moby/moby#37419
- Añadida opción de configuración para cri-containerd moby/moby#37519
- Actualiza el cliente containerd a v1.2.0-rc.1 moby/moby#37664, docker/engine#75 / moby/moby#37710
- Añadido soporte para conjuntos de direcciones globales predeterminadas moby/moby#37558 docker/cli#1233
- Mover el endpoint
POST /sessionfuera de experimental moby/moby#40028
Mejoras
- No devuelve "
<unknown>" en la respuesta de /info moby/moby#37472 - BuildKit: Cambia
--console=[auto,false,true]a--progress=[auto,plain,tty]docker/cli#1276 - BuildKit: Establece la variable ExportedProduct de BuildKit para mostrar errores útiles en el futuro moby/moby#37439
- Oculta las banderas
--data-path-addrcuando se está conectado a un daemon que no admite esta opción docker/docker/cli#1240 - Solo muestra banderas específicas de buildkit si BuildKit está habilitado docker/cli#1438 / docker/cli#1427
- Mejora la alineación de la salida de version docker/cli#1204
- Ordena los nombres de plugins y redes de forma natural docker/cli#1166, docker/cli#1266
- Actualiza los scripts de autocompletado de bash y zsh
- Pasa el nivel de log a containerd moby/moby#37419
- Utiliza el retorno directo del servidor (DSR) en el equilibrio de carga de overlay de este a oeste docker/engine#93 / docker/libnetwork#2270
- Constructor: deshabilita temporalmente la red de tipo bridge al usar buildkit moby/moby#37691
- Bloquea el inicio de tareas hasta que las vinculaciones de nodos estén listas moby/moby#37604
- Propaga el certificado de CA externa proporcionado al objeto CA externo en swarm docker/cli#1178
- Elimina Ubuntu 14.04 "Trusty Tahr" como plataforma compatible docker-ce-packaging#255 / docker-ce-packaging#254
- Elimina Debian 8 "Jessie" como plataforma compatible docker-ce-packaging#255 / docker-ce-packaging#254
- Elimina el prefijo 'docker-' para los binarios de containerd y runc docker/engine#61 / moby/moby#37907, docker-ce-packaging#241
- Divide "engine", "cli" y "containerd" en paquetes separados y ejecuta containerd como un servicio systemd independiente docker-ce-packaging#131, docker-ce-packaging#158
- Construye binarios con Go 1.10.4 docker-ce-packaging#181
- Elimina el sufijo
-cede la cadena de versión docker-ce-packaging#206
Correcciones
- BuildKit: No cancelar la solicitud de estado de buildkit moby/moby#37597
- Corrige que no se muestre ningún error si faltan argumentos de construcción durante
docker buildmoby/moby#37396 - Corrige el error "unexpected EOF" al agregar un archivo de 8GB moby/moby#37771
- LCOW: Asegura que la plataforma se complete en
COPY/ADDmoby/moby#37563 - Corrige el mapeo de un rango de puertos del host a un único puerto del contenedor docker/cli#1102
- Corrige un error tipográfico en
trust inspect: "AdminstrativeKeys" docker/cli#1300 - Corrige el análisis de archivos de entorno para importaciones de variables ausentes y aquellas sin nombre docker/cli#1019
- Corrige una posible "excepción de falta de memoria" al ejecutar
docker image prunecon una lista grande de imágenes huérfanas docker/cli#1432 / docker/cli#1423 - Corrige el manejo de tuberías en ConEmu y ConsoleZ en Windows moby/moby#37600
- Corrige el inicio lento en Windows con redes de Hyper-V no gobernadas por hns docker/engine#67 / moby/moby#37774
- Corrige que el daemon no se inicie cuando la opción "runtimes" está definida tanto en el archivo de configuración como en la cli docker/engine#57 / moby/moby#37871
- Suaviza los permisos en el directorio
/etc/dockerpara evitar errores de "permission denied" al usardocker manifest inspectdocker/engine#56 / moby/moby#37847 - Corrige la denegación de servicio con números grandes en
cpuset-cpusycpuset-memsdocker/engine#70 / moby/moby#37967 - LCOW: Añadir
--platformadocker importdocker/cli#1375 / docker/cli#1371 - LCOW: Añadir soporte para LinuxMetadata por defecto en Windows moby/moby#37514
- LCOW: Montar en rutas cortas de contenedor para evitar el límite de longitud de la línea de comandos moby/moby#37659
- LCOW: Corrige que el constructor utilice una capa de caché incorrecta moby/moby#37356
- Corrige que los descriptores de archivos de json-log se filtren cuando se utiliza
--followdocker/engine#48 moby/moby#37576 moby/moby#37734 - Corrige un posible bloqueo mutuo al cerrar el observador en kqueue moby/moby#37392
- Utiliza un observador basado en sondeo (poller) para evitar el problema de almacenamiento en caché de archivos en Windows moby/moby#37412
- Maneja el caso de systemd-resolved proporcionando el resolv.conf adecuado a la capa de red moby/moby#37485
- Elimina la compatibilidad con TLS < 1.2 moby/moby#37660
- Seccomp: Permite en lista blanca las llamadas al sistema vinculadas a
CAP_SYS_NICEen el perfil seccomp predeterminado moby/moby#37242 - Seccomp: mueve la llamada al sistema syslog para que esté protegida por
CAP_SYS_ADMINoCAP_SYSLOGdocker/engine#64 / moby/moby#37929 - SELinux: Corrige el reetiquetado de volúmenes locales especificados a través de la API de Mounts en sistemas con selinux habilitado moby/moby#37739
- Añade advertencia si la API REST es accesible a través de una conexión no segura moby/moby#37684
- Oculta las credenciales de proxy de la URL cuando se muestra en la info del sistema docker/engine#72 / moby/moby#37934
- Corrige la propagación de montaje para btrfs docker/engine#86 / moby/moby#38026
- Corrige la desreferencia de puntero nulo en la asignación de nodos docker/engine#94 / docker/swarmkit#2764
Problemas conocidos
Existen cambios importantes en el proceso de actualización que, si no se siguen correctamente, pueden tener un impacto en la disponibilidad de las aplicaciones que se ejecutan en Swarm durante las actualizaciones. Estas restricciones afectan a cualquier actualización que provenga de cualquier versión anterior a la 18.09 hacia la versión 18.09 o superior.
Con https://github.com/boot2docker/boot2docker/releases/download/v18.09.0/boot2docker.iso, se rechaza la conexión desde un nodo en la máquina virtual. Cualquier publicación de puertos de swarm en las máquinas virtuales de docker-machine creadas con VirtualBox no responderá. Esto ocurre en macOS y Windows 10, utilizando las versiones de docker-machine 0.15 y 0.16.
El siguiente comando
docker runfunciona, permitiendo el acceso desde el navegador del host:docker run -d -p 4000:80 nginxSin embargo, el siguiente comando
docker servicefalla, resultando en que curl/chrome no puedan conectarse (conexión rechazada):docker service create -p 5000:80 nginxEste problema no se presenta cuando se aprovisionan máquinas virtuales en la nube con la versión 18.09.0 utilizando docker-machine.
Soluciones alternativas:
- Utilizar máquinas virtuales en la nube que no dependan de boot2docker.
docker runno se ve afectado.- Para Swarm, configura VIRTUALBOX_BOOT2DOCKER_URL=https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso.
Este problema se resolvió en la versión 18.09.1.
Avisos de depreciación
Docker ha depreciado el soporte para Device Mapper como controlador de almacenamiento. Seguirá siendo compatible por el momento, pero el soporte se eliminará en una versión futura.
El controlador de almacenamiento Overlay2 es ahora el predeterminado para las implementaciones de Docker Engine.
Para obtener más información sobre la lista de banderas y APIs depreciadas, consulta la información de depreciación donde podrás encontrar las fechas previstas para su eliminación.
Notificación de fin de ciclo de vida (End of Life)
En esta versión, Docker también ha eliminado la compatibilidad con TLS < 1.2 moby/moby#37660, Ubuntu 14.04 "Trusty Tahr" docker-ce-packaging#255 / docker-ce-packaging#254 y Debian 8 "Jessie" docker-ce-packaging#255 / docker-ce-packaging#254.