Notes de version Docker Engine 18.09
Note :
Avec cette version, le démon, le client et le runtime de conteneur sont maintenant tous livrés dans des packages séparés. Lors de la mise à jour, vous devez mettre à jour tous les packages en même temps pour obtenir les dernières versions de correctifs pour chacun. Par exemple, sur Ubuntu :
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Consultez les instructions d'installation pour la distribution Linux correspondante pour plus de détails.
18.09.9
2019-09-03
Client
- Correction de la détection du chemin absolu Windows sur non-Windows. docker/cli#1990
- Correction de Docker refusant de charger la clé depuis delegation.key sur Windows. docker/cli#1968
- Mise à jour des scripts de complétion pour bash et zsh.
Journalisation
- Correction pour la lecture des journaux journald. moby/moby#37819 moby/moby#38859
Réseau
- Prévention d'une panique sur un réseau attaché à un conteneur avec mise en réseau désactivée. moby/moby#39589
- Correction du port de service pour une application devenant indisponible de manière aléatoire. docker/libnetwork#2069
- Correction du nettoyage des réseaux
--config-only
--config-from
qui ont quitté de manière inattendue. docker/libnetwork#2373
Runtime
- Mise à jour vers Go 1.11.13.
- Correction d'une panique potentielle du moteur lors de l'utilisation du quota disque XFS pour les conteneurs. moby/moby#39644
Swarm
- Correction des erreurs "grpc: received message larger than max". moby/moby#39306
- Correction d'un problème où plusieurs tâches de nœuds ne pouvaient pas être supprimées. docker/swarmkit#2867
18.09.8
2019-07-17
Runtime
- Masqué les secrets mis à jour dans les fichiers journaux lors de l'exécution de Docker Engine en mode debug. CVE-2019-13509 : Si un moteur Docker fonctionne en mode debug, et que
docker stack deploy
est utilisé pour redéployer une pile qui inclut des secrets non externes, les journaux contiendront le secret.
Client
- Correction de l'interpolation de type de configuration de rollback pour les champs
parallelism
etmax_failure_ratio
.
Problème connu
- Il y a des changements importants dans le processus de mise à niveau qui, s'ils ne sont pas correctement suivis, peuvent avoir un impact sur la disponibilité des applications fonctionnant sur le Swarm pendant les mises à niveau. Ces contraintes impactent toutes les mises à niveau venant de toute version antérieure à 18.09 vers la version 18.09 ou ultérieure.
18.09.7
2019-06-27
Builder
- Correction d'une erreur de panique lors de la construction de dockerfiles qui ne contiennent que des commentaires. moby/moby#38487
- Ajout d'une solution de contournement pour le problème d'authentification GCR. moby/moby#38246
- Builder-next : Correction d'un bug dans la solution de contournement de l'implémentation du cache de jeton GCR. moby/moby#39183
Réseau
- Correction d'une erreur où
--network-rm
échouerait à supprimer un réseau. moby/moby#39174
Runtime
- Ajout d'optimisations de performance dans aufs et layer store qui aide dans la création et suppression de conteneurs massivement parallèles. moby/moby#39107, moby/moby#39135
- Mise à jour de containerd vers la version 1.2.6. moby/moby#39016
- Correction de CVE-2018-15664 attaque d'échange de lien symbolique avec traversée de répertoire. moby/moby#39357
- Windows : correction du support pour
docker service create --limit-cpu
. moby/moby#39190 - daemon : correction d'un problème de validation des miroirs. moby/moby#38991
- Docker ne prend plus en charge le tri des plages UID et GID dans les cartes d'ID. moby/moby#39288
Journalisation
- Ajout d'une correction qui permet maintenant de grandes lignes de journal pour les plugins de journalisation. moby/moby#39038
Problème connu
- Il y a des changements importants dans le processus de mise à niveau qui, s'ils ne sont pas correctement suivis, peuvent avoir un impact sur la disponibilité des applications fonctionnant sur le Swarm pendant les mises à niveau. Ces contraintes impactent toutes les mises à niveau venant de toute version antérieure à 18.09 vers la version 18.09 ou ultérieure.
18.09.6
2019-05-06
Builder
- Correction de
COPY
etADD
avec plusieurs<src>
pour ne pas invalider le cache siDOCKER_BUILDKIT=1
. moby/moby#38964
Réseau
- Nettoyage du fournisseur de cluster lorsque l'agent est fermé. docker/libnetwork#2354
- Windows : Sélectionne maintenant un port hôte aléatoire si l'utilisateur ne spécifie pas de port hôte. docker/libnetwork#2369
Problèmes connus
- Il y a des changements importants dans le processus de mise à niveau qui, s'ils ne sont pas correctement suivis, peuvent avoir un impact sur la disponibilité des applications fonctionnant sur le Swarm pendant les mises à niveau. Ces contraintes impactent toutes les mises à niveau venant de toute version antérieure à 18.09 vers la version 18.09 ou ultérieure.
18.09.5
2019-04-11
Builder
- Correction de
DOCKER_BUILDKIT=1 docker build --squash ..
docker/engine#176
Client
- Correction d'une erreur de taille initiale tty. docker/cli#1775
- Correction de fuite de goroutine dial-stdio. docker/cli#1795
- Correction du sélecteur de l'informateur de pile utilisé pour suivre le déploiement. docker/cli#1794
Réseau
- Correction de
network=host
utilisant le mauvaisresolv.conf
avecsystemd-resolved
. docker/engine#180 - Correction des entrées ARP Windows se corrompant de manière aléatoire sous charge. docker/engine#192
Runtime
- Affichage maintenant des conteneurs arrêtés avec politique de redémarrage comme
Restarting
. docker/engine#181 - Utilisation maintenant de la spécification de processus original pour les execs. docker/engine#178
Mode Swarm
- Correction de fuite de ressources de tâche lorsque les nœuds sont supprimés. docker/engine#185
Problèmes connus
- Il y a des changements importants dans le processus de mise à niveau qui, s'ils ne sont pas correctement suivis, peuvent avoir un impact sur la disponibilité des applications fonctionnant sur le Swarm pendant les mises à niveau. Ces contraintes impactent toutes les mises à niveau venant de toute version antérieure à 18.09 vers la version 18.09 ou ultérieure.
18.09.4
2019-03-28
Builder
- Correction de CVE-2019-13139 en ajoutant une validation pour
git ref
pour éviter une mauvaise interprétation comme un drapeau. moby/moby#38944
Runtime
- Correction de l'erreur
docker cp
pour les noms de fichiers de plus de 100 caractères. moby/moby#38634 - Correction de
layer/layer_store
pour assurer que les ressourcesNewInputTarStream
sont libérées. moby/moby#38413 - Augmentation de la limite GRPC pour
GetConfigs
. moby/moby#38800 - Mise à jour de
containerd
1.2.5. docker/engine#173
Mode Swarm
- Correction d'une exception de pointeur nul lors de l'adhésion de nœud au swarm. moby/moby#38618
- Correction d'un problème pour les nœuds swarm ne pouvant pas rejoindre en tant que maîtres si un proxy http est défini. [moby/moby#36951]
Problèmes connus
- Il y a des changements importants dans le processus de mise à niveau qui, s'ils ne sont pas correctement suivis, peuvent avoir un impact sur la disponibilité des applications fonctionnant sur le Swarm pendant les mises à niveau. Ces contraintes impactent toutes les mises à niveau venant de toute version antérieure à 18.09 vers la version 18.09 ou ultérieure.
18.09.3
2019-02-28
Corrections réseau
- Windows : évite maintenant la régénération des ID de réseau pour empêcher les références cassées aux réseaux. docker/engine#149
- Windows : Correction d'un problème pour traiter le drapeau
- restart always
sur les conteneurs autonomes ne fonctionnant pas lors de la spécification d'un réseau. (docker/escalation#1037) - Correction d'un problème pour traiter l'état IPAM de networkdb si le gestionnaire n'est pas attaché au réseau overlay. (docker/escalation#1049)
Corrections et mises à jour du runtime
- Mise à jour vers Go version 1.10.8.
- Modification des noms dans le générateur de noms de conteneur. docker/engine#159
- Lors de la copie d'un dossier existant, les erreurs de définition xattr lorsque le système de fichiers cible ne supporte pas xattr sont maintenant ignorées. docker/engine#135
- Graphdriver : correction du mode "device" non détecté si le bit "character-device" est défini. docker/engine#160
- Correction d'un déréférencement de pointeur nul en cas d'échec de connexion à containerd. docker/engine#162
- Suppression d'objet containerd obsolète en cas d'échec de démarrage. docker/engine#154
Problèmes connus
- Il y a des changements importants dans le processus de mise à niveau qui, s'ils ne sont pas correctement suivis, peuvent avoir un impact sur la disponibilité des applications fonctionnant sur le Swarm pendant les mises à niveau. Ces contraintes impactent toutes les mises à niveau venant de toute version antérieure à 18.09 vers la version 18.09 ou supérieure.
18.09.2
2019-02-11
Corrections de sécurité
- Mise à jour de
runc
pour traiter une vulnérabilité critique qui permet aux conteneurs spécialement conçus d'obtenir des privilèges administratifs sur l'hôte. CVE-2019-5736 - Les clients Ubuntu 14.04 utilisant un noyau 3.13 devront passer à un noyau Ubuntu 4.x supporté
Pour des informations supplémentaires, reportez-vous au blog post Docker.
Problèmes connus
- Il y a des changements importants dans le processus de mise à niveau qui, s'ils ne sont pas correctement suivis, peuvent avoir un impact sur la disponibilité des applications fonctionnant sur le Swarm pendant les mises à niveau. Ces contraintes impactent toutes les mises à niveau venant de toute version antérieure à 18.09 vers la version 18.09 ou supérieure.
18.09.1
2019-01-09
Notes importantes sur cette version
Dans les versions Docker antérieures à 18.09, containerd était géré par le démon Docker Engine. Dans Docker Engine 18.09, containerd est géré par systemd. Depuis que containerd est géré par systemd, toute configuration personnalisée à la configuration systemd docker.service
qui change les paramètres de montage (par exemple, MountFlags=slave
) brise les interactions entre le démon Docker Engine et containerd, et vous ne pourrez pas démarrer des conteneurs.
Run the following command to get the current value of the MountFlags
property for the docker.service
:
$ sudo systemctl show --property=MountFlags docker.service
MountFlags=
Update your configuration if this command prints a non-empty value for MountFlags
, and restart the docker service.
Security fixes
- Upgraded Go language to 1.10.6 to resolve CVE-2018-16873, CVE-2018-16874, and CVE-2018-16875.
- Fixed authz plugin for 0-length content and path validation.
- Added
/proc/asound
to masked paths docker/engine#126
Improvements
- Updated to BuildKit 0.3.3 docker/engine#122
- Updated to containerd 1.2.2 docker/engine#144
- Provided additional warnings for use of deprecated legacy overlay and devicemapper storage drivers docker/engine#85
- prune: perform image pruning before build cache pruning docker/cli#1532
- Added bash completion for experimental CLI commands (manifest) docker/cli#1542
- Windows: allow process isolation on Windows 10 docker/engine#81
Fixes
- Disable kmem accounting in runc on RHEL/CentOS (docker/escalation#614, docker/escalation#692) docker/engine#121
- Fixed inefficient networking configuration docker/engine#123
- Fixed docker system prune doesn't accept until filter docker/engine#122
- Avoid unset credentials in
containerd
docker/engine#122 - Fixed iptables compatibility on Debian docker/engine#107
- Fixed setting default schema to tcp for docker host docker/cli#1454
- Fixed bash completion for
service update --force
docker/cli#1526 - Windows: DetachVhd attempt in cleanup docker/engine#113
- API: properly handle invalid JSON to return a 400 status docker/engine#110
- API: ignore default address-pools on API < 1.39 docker/engine#118
- API: add missing default address pool fields to swagger docker/engine#119
- awslogs: account for UTF-8 normalization in limits docker/engine#112
- Prohibit reading more than 1MB in HTTP error responses docker/engine#114
- apparmor: allow receiving of signals from
docker kill
docker/engine#116 - overlay2: use index=off if possible (fix EBUSY on mount) docker/engine#84
Packaging
- Add docker.socket requirement for docker.service. docker/docker-ce-packaging#276
- Add socket activation for RHEL-based distributions. docker/docker-ce-packaging#274
- Add libseccomp requirement for RPM packages. docker/docker-ce-packaging#266
Known Issues
- When upgrading from 18.09.0 to 18.09.1,
containerd
is not upgraded to the correct version on Ubuntu. - There are important changes to the upgrade process that, if not correctly followed, can have impact on the availability of applications running on the Swarm during upgrades. These constraints impact any upgrades coming from any version before 18.09 to version 18.09 or greater.
18.09.0
2018-11-08
Important notes about this release
In Docker versions prior to 18.09, containerd was managed by the Docker engine daemon. In Docker Engine 18.09, containerd is managed by systemd. Since containerd is managed by systemd, any custom configuration to the docker.service
systemd
configuration which changes mount settings (for example, MountFlags=slave
) breaks interactions between the Docker Engine daemon and containerd, and you will not be able to start containers.
Run the following command to get the current value of the MountFlags
property for the docker.service
:
$ sudo systemctl show --property=MountFlags docker.service
MountFlags=
Update your configuration if this command prints a non-empty value for MountFlags
, and restart the docker service.
New features
- Updated API version to 1.39 moby/moby#37640
- Added support for remote connections using SSH docker/cli#1014
- Builder: added prune options to the API moby/moby#37651
- Added "Warnings" to
/info
endpoint, and move detection to the daemon moby/moby#37502 - Allows BuildKit builds to run without experimental mode enabled. Buildkit can now be configured with an option in daemon.json moby/moby#37593 moby/moby#37686 moby/moby#37692 docker/cli#1303 docker/cli#1275
- Added support for build-time secrets using a
--secret
flag when using BuildKit docker/cli#1288 - Added SSH agent socket forwarder (
docker build --ssh $SSHMOUNTID=$SSH_AUTH_SOCK
) when using BuildKit docker/cli#1438 / docker/cli#1419 - Added
--chown
flag support forADD
andCOPY
commands on Windows moby/moby#35521 - Added
builder prune
subcommand to prune BuildKit build cache docker/cli#1295 docker/cli#1334 - BuildKit: Adds configurable garbage collection policy for the BuildKit build cache docker/engine#59 / moby/moby#37846
- BuildKit: Adds support for
docker build --pull ...
when using BuildKit moby/moby#37613 - BuildKit: Adds support or "registry-mirrors" and "insecure-registries" when using BuildKit docker/engine#59 / moby/moby#37852
- BuildKit: Enables net modes and bridge. moby/moby#37620
- Added
docker engine
subcommand to manage the lifecycle of a Docker Engine running as a privileged container on top of containerd, and to allow upgrades to Docker Engine Enterprise docker/cli#1260 - Exposed product license in
docker info
output docker/cli#1313 - Showed warnings produced by daemon in
docker info
output docker/cli#1225 - Added "local" log driver moby/moby#37092
- Amazon CloudWatch: adds
awslogs-endpoint
logging option moby/moby#37374 - Added support for global default address pools moby/moby#37558 docker/cli#1233
- Configured containerd log-level to be the same as dockerd moby/moby#37419
- Added configuration option for cri-containerd moby/moby#37519
- Updates containerd client to v1.2.0-rc.1 moby/moby#37664, docker/engine#75 / moby/moby#37710
- Added support for global default address pools moby/moby#37558 docker/cli#1233
- Moved the
POST /session
endpoint out of experimental. moby/moby#40028
Improvements
- Does not return "
<unknown>
" in /info response moby/moby#37472 - BuildKit: Changes
--console=[auto,false,true]
to--progress=[auto,plain,tty]
docker/cli#1276 - BuildKit: Sets BuildKit's ExportedProduct variable to show useful errors in the future. moby/moby#37439
- Hides
--data-path-addr
flags when connected to a daemon that doesn't support this option docker/docker/cli#1240 - Only shows buildkit-specific flags if BuildKit is enabled docker/cli#1438 / docker/cli#1427
- Improves version output alignment docker/cli#1204
- Sorts plugin names and networks in a natural order docker/cli#1166, docker/cli#1266
- Updates bash and zsh completion scripts
- Passes log-level to containerd. moby/moby#37419
- Uses direct server return (DSR) in east-west overlay load balancing docker/engine#93 / docker/libnetwork#2270
- Builder: temporarily disables bridge networking when using buildkit. moby/moby#37691
- Blocks task starting until node attachments are ready moby/moby#37604
- Propagates the provided external CA certificate to the external CA object in swarm. docker/cli#1178
- Removes Ubuntu 14.04 "Trusty Tahr" as a supported platform docker-ce-packaging#255 / docker-ce-packaging#254
- Removes Debian 8 "Jessie" as a supported platform docker-ce-packaging#255 / docker-ce-packaging#254
- Removes 'docker-' prefix for containerd and runc binaries docker/engine#61 / moby/moby#37907, docker-ce-packaging#241
- Splits "engine", "cli", and "containerd" to separate packages, and run containerd as a separate systemd service docker-ce-packaging#131, docker-ce-packaging#158
- Builds binaries with Go 1.10.4 docker-ce-packaging#181
- Removes
-ce
suffix from version string docker-ce-packaging#206
Fixes
- BuildKit: Do not cancel buildkit status request. moby/moby#37597
- Fixes no error is shown if build args are missing during docker build moby/moby#37396
- Fixes error "unexpected EOF" when adding an 8GB file moby/moby#37771
- LCOW: Ensures platform is populated on
COPY
/ADD
. moby/moby#37563 - Fixes mapping a range of host ports to a single container port docker/cli#1102
- Fixes
trust inspect
typo: "AdminstrativeKeys
" docker/cli#1300 - Fixes environment file parsing for imports of absent variables and those with no name. docker/cli#1019
- Fixes a potential "out of memory exception" when running
docker image prune
with a large list of dangling images docker/cli#1432 / docker/cli#1423 - Fixes pipe handling in ConEmu and ConsoleZ on Windows moby/moby#37600
- Fixes long startup on windows, with non-hns governed Hyper-V networks docker/engine#67 / moby/moby#37774
- Fixes daemon won't start when "runtimes" option is defined both in config file and cli docker/engine#57 / moby/moby#37871
- Loosens permissions on
/etc/docker
directory to prevent "permission denied" errors when usingdocker manifest inspect
docker/engine#56 / moby/moby#37847 - Fixes denial of service with large numbers in
cpuset-cpus
andcpuset-mems
docker/engine#70 / moby/moby#37967 - LCOW: Add
--platform
todocker import
docker/cli#1375 / docker/cli#1371 - LCOW: Add LinuxMetadata support by default on Windows moby/moby#37514
- LCOW: Mount to short container paths to avoid command-line length limit moby/moby#37659
- LCOW: Fix builder using wrong cache layer moby/moby#37356
- Fixes json-log file descriptors leaking when using
--follow
docker/engine#48 moby/moby#37576 moby/moby#37734 - Fixes a possible deadlock on closing the watcher on kqueue moby/moby#37392
- Uses poller based watcher to work around the file caching issue in Windows moby/moby#37412
- Handles systemd-resolved case by providing appropriate resolv.conf to networking layer moby/moby#37485
- Removes support for TLS < 1.2 moby/moby#37660
- Seccomp: Whitelist syscalls linked to
CAP_SYS_NICE
in default seccomp profile moby/moby#37242 - Seccomp: move the syslog syscall to be gated by
CAP_SYS_ADMIN
orCAP_SYSLOG
docker/engine#64 / moby/moby#37929 - SELinux: Fix relabeling of local volumes specified via Mounts API on selinux-enabled systems moby/moby#37739
- Adds warning if REST API is accessible through an insecure connection moby/moby#37684
- Masks proxy credentials from URL when displayed in system info docker/engine#72 / moby/moby#37934
- Fixes mount propagation for btrfs docker/engine#86 / moby/moby#38026
- Fixes nil pointer dereference in node allocation docker/engine#94 / docker/swarmkit#2764
Known Issues
-
There are important changes to the upgrade process that, if not correctly followed, can have impact on the availability of applications running on the Swarm during upgrades. These constraints impact any upgrades coming from any version before 18.09 to version 18.09 or greater.
-
With https://github.com/boot2docker/boot2docker/releases/download/v18.09.0/boot2docker.iso, connection is being refused from a node on the virtual machine. Any publishing of swarm ports in virtualbox-created docker-machine VM's will not respond. This is occurring on macOS and Windows 10, using docker-machine version 0.15 and 0.16.
The following
docker run
command works, allowing access from host browser:docker run -d -p 4000:80 nginx
However, the following
docker service
command fails, resulting in curl/chrome unable to connect (connection refused):docker service create -p 5000:80 nginx
This issue is not apparent when provisioning 18.09.0 cloud VM's using docker-machine.
Workarounds:
- Use cloud VM's that don't rely on boot2docker.
docker run
is unaffected.- For Swarm, set VIRTUALBOX_BOOT2DOCKER_URL=https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso.
This issue is resolved in 18.09.1.
Deprecation Notices
-
Docker has deprecated support for Device Mapper as a storage driver. It will continue to be supported at this time, but support will be removed in a future release.
The Overlay2 storage driver is now the default for Docker Engine implementations.
For more information on the list of deprecated flags and APIs, have a look at the deprecation information where you can find the target removal dates.
End of Life Notification
In this release, Docker has also removed support for TLS < 1.2 moby/moby#37660, Ubuntu 14.04 "Trusty Tahr" docker-ce-packaging#255 / docker-ce-packaging#254, and Debian 8 "Jessie" docker-ce-packaging#255 / docker-ce-packaging#254.