Notes de version Docker Engine 26.0
Cette page décrit les derniers changements, ajouts, problèmes connus et corrections pour Docker Engine version 26.0.
Pour plus d'informations sur :
- Les fonctionnalités dépréciées et supprimées, voir Fonctionnalités dépréciées du moteur.
- Les changements de l'API du moteur, voir Historique des versions de l'API du moteur.
26.0.2
2024-04-18Pour une liste complète des pull requests et changements dans cette version, consultez les jalons GitHub pertinents :
- docker/cli, jalon 26.0.2
- moby/moby, jalon 26.0.2
- Fonctionnalités dépréciées et supprimées, voir Fonctionnalités dépréciées.
- Changements de l'API du moteur, voir Historique des versions de l'API.
Sécurité
Cette version contient une correction de sécurité pour CVE-2024-32473, une configuration inattendue d'IPv6 sur des interfaces IPv4 uniquement.
Corrections de bugs et améliorations
-
CVE-2024-32473 : S'assurer qu'IPv6 est désactivé sur les interfaces auxquelles seule une adresse IPv4 est allouée par le moteur. moby#GHSA-x84c-p2g9-rqv9
26.0.1
2024-04-11Pour une liste complète des pull requests et changements dans cette version, consultez les jalons GitHub pertinents :
- docker/cli, jalon 26.0.1
- moby/moby, jalon 26.0.1
- Fonctionnalités dépréciées et supprimées, voir Fonctionnalités dépréciées.
- Changements de l'API du moteur, voir Historique des versions de l'API.
Corrections de bugs et améliorations
- Correction d'une régression qui signifiait que les options
--sysctl
spécifiques à l'interface réseau empêchaient le démarrage du conteneur. moby/moby#47646 - Suppression de la
platform
erronée du descripteur OCIconfig
d'image dans la sortiedocker save
. moby/moby#47694 - magasin d'images containerd : Les archives OCI produites par
docker save
auront maintenant un champmediaType
non vide dansindex.json
moby/moby#47701 - Correction d'une régression qui empêchait le résolveur interne de transférer les requêtes des réseaux IPvlan L3 vers les résolveurs externes. moby/moby#47705
- Prévenir l'utilisation de résolveurs externes dans les réseaux IPvlan et Macvlan créés sans interface parent spécifiée. moby/moby#47705
Mises à jour d'empaquetage
- Mise à jour du runtime Go vers 1.21.9 moby/moby#47671, docker/cli#4987
- Mise à jour de Compose vers v1.26.1, docker/docker-ce-packaging#1009
- Mise à jour de containerd vers v1.7.15 (binaires statiques uniquement) moby/moby#47692
26.0.0
2024-03-20Pour une liste complète des pull requests et changements dans cette version, consultez les jalons GitHub pertinents :
- docker/cli, jalon 26.0.0
- moby/moby, jalon 26.0.0
- Fonctionnalités dépréciées et supprimées, voir Fonctionnalités dépréciées.
- Changements de l'API du moteur, voir Historique des versions de l'API.
Sécurité
Cette version contient une correction de sécurité pour CVE-2024-29018, une exfiltration de données potentielle des réseaux 'internes' via des serveurs DNS autoritaires.
Nouveau
- Ajout du champ
Subpath
auxVolumeOptions
permettant de monter un sous-chemin d'un volume. moby/moby#45687 - Ajout du support
volume-subpath
au flag mount (--mount type=volume,...,volume-subpath=<subpath>
). docker/cli#4331 - Acceptation des séparateurs
=
et[ipv6]
dans les fichiers compose pourdocker stack deploy
. docker/cli#4860 - rootless : Ajout du support pour activer la boucle locale hôte en définissant la variable d'environnement
DOCKERD_ROOTLESS_ROOTLESSKIT_DISABLE_HOST_LOOPBACK
àfalse
(par défauttrue
). Cela permet aux conteneurs de se connecter à l'hôte en utilisant l'adresse IP10.0.2.2
. moby/moby#47352 - magasin d'images containerd :
docker image ls
ne crée plus d'entrées dupliquées pour les images multi-plateformes. moby/moby#45967 - magasin d'images containerd : Envoi de métriques Prometheus. moby/moby#47555
Corrections de bugs et améliorations
-
CVE-2024-29018 : Ne pas transférer les requêtes vers des serveurs DNS externes pour un conteneur qui n'est connecté qu'à un réseau 'interne'. Auparavant, les requêtes étaient transférées si le serveur DNS de l'hôte fonctionnait sur une adresse de bouclage, comme 127.0.0.53 de systemd. moby/moby#47589
-
S'assurer qu'une adresse MAC générée n'est pas restaurée quand un conteneur est redémarré, mais qu'une adresse MAC configurée est préservée. moby/moby#47233
WarningLes conteneurs créés avec Docker Engine 25.0.0 peuvent avoir des adresses MAC dupliquées, ils doivent être recréés. Les conteneurs créés avec la version 25.0.0 ou 25.0.1 avec des adresses MAC définies par l'utilisateur obtiendront des adresses MAC générées quand ils seront démarrés avec 25.0.2. Ils doivent également être recréés.
-
Toujours tenter d'activer IPv6 sur l'interface de bouclage d'un conteneur, et n'inclure IPv6 dans
/etc/hosts
que si c'est réussi. moby/moby#47062NotePar défaut, IPv6 restera activé sur l'interface de bouclage d'un conteneur quand le conteneur n'est pas connecté à un réseau compatible IPv6. Par exemple, les conteneurs qui ne sont connectés qu'à un réseau IPv4 uniquement ont maintenant l'adresse
::1
sur leur interface de bouclage.Pour désactiver IPv6 dans un conteneur, utilisez l'option
--sysctl net.ipv6.conf.all.disable_ipv6=1
dans la commandecreate
ourun
, ou l'optionsysctls
équivalente dans la section de configuration du service d'un fichier Compose.Si IPv6 n'est pas disponible dans un conteneur parce qu'il a été explicitement désactivé pour le conteneur, ou que la pile réseau de l'hôte n'a pas IPv6 activé (ou pour toute autre raison) le fichier
/etc/hosts
du conteneur n'inclura pas d'entrées IPv6. -
Correction de l'instruction Dockerfile
ADD
échouant aveclsetxattr <file>: operation not supported
lors du déballage d'archive avec xattrs sur un système de fichiers qui ne les supporte pas. moby/moby#47175 -
Correction de
docker container start
échouant quand utilisé avec--checkpoint
. moby/moby#47456 -
Restauration de la connectivité IP entre l'hôte et les conteneurs sur un réseau bridge interne. moby/moby#47356
-
Ne pas appliquer les nouvelles règles de validation pour les réseaux swarm existants. moby/moby#47361
-
Restauration des noms DNS pour les conteneurs dans le réseau "nat" par défaut sur Windows. moby/moby#47375
-
Affichage d'un indice lors de l'invocation de
docker image ls
avec un argument ambigu. docker/cli#4849 -
Nettoyage des fichiers
@docker_cli_[UUID]
sur OpenBSD. docker/cli#4862 -
Ajout d'un message explicite d'avis de dépréciation lors de l'utilisation de connexions TCP distantes sans TLS. docker/cli#4928, moby/moby#47556
-
Utilisation des serveurs de noms IPv6 du
resolv.conf
de l'hôte comme résolveurs en amont pour le DNS interne de Docker Engine, plutôt que de les lister dans leresolv.conf
du conteneur. moby/moby#47512 -
magasin d'images containerd : Isolation des images avec différents espaces de noms containerd quand l'option
--userns-remap
est utilisée. moby/moby#46786 -
magasin d'images containerd : Correction du pull d'image n'émettant pas le statut
Pulling fs layer
. moby/moby#47432
API
- Pour préserver la compatibilité ascendante, les montages en lecture seule ne sont pas récursifs par défaut lors de l'utilisation de clients plus anciens (version API < v1.44). moby/moby#47391
GET /images/{id}/json
omet le champCreated
(auparavant c'était0001-01-01T00:00:00Z
) si le champCreated
est manquant dans la configuration de l'image. moby/moby#47451- Remplissage d'un champ
Created
manquant dansGET /images/{id}/json
avec0001-01-01T00:00:00Z
pour la version API <= 1.43. moby/moby#47387 - Le champ
is_automated
dans les résultats du point de terminaisonPOST /images/search
est toujoursfalse
maintenant. Par conséquent, rechercheris-automated=true
ne donnera aucun résultat, tandis queis-automated=false
sera sans effet. moby/moby#47465 - Suppression des champs
Container
etContainerConfig
de la réponseGET /images/{name}/json
. moby/moby#47430
Mises à jour d'empaquetage
- Mise à jour de BuildKit vers v0.13.1. moby/moby#47582
- Mise à jour de Buildx vers v0.13.1. docker/docker-ce-packaging#1000
- Mise à jour de Compose vers v2.25.0. docker/docker-ce-packaging#1002
- Mise à jour du runtime Go vers 1.21.8. moby/moby#47502
- Mise à jour de RootlessKit vers v2.0.2. moby/moby#47508
- Mise à jour de containerd vers v1.7.13 (binaires statiques uniquement) moby/moby#47278
- Mise à jour du binaire runc vers v1.1.12 moby/moby#47268
- Mise à jour d'OTel vers v0.46.1 / v1.21.0 moby/moby#47245
Supprimé
-
Suppression des champs
Container
etContainerConfig
de la réponseGET /images/{name}/json
. moby/moby#47430 -
Dépréciation de la capacité d'accepter les connexions TCP distantes sans TLS. Avis de dépréciation docker/cli#4928 moby/moby#47556.
-
Suppression des versions d'API dépréciées (API < v1.24) moby/moby#47155
-
Désactivation du pull de formats d'image dépréciés par défaut. Ces formats d'image sont dépréciés, et le support sera supprimé dans une version future. moby/moby#47459
-
image : suppression d'IDFromDigest déprécié moby/moby#47198
-
Suppression du package déprécié
github.com/docker/docker/pkg/loopback
. moby/moby#47128 -
pkg/system : suppression des
ErrNotSupportedOperatingSystem
,IsOSSupported
dépréciés moby/moby#47129 -
pkg/homedir : suppression des Key() et GetShortcutString() dépréciés moby/moby#47130
-
pkg/containerfs : suppression de ResolveScopedPath déprécié moby/moby#47131
-
Le flag daemon
--oom-score-adjust
a été déprécié dans v24.0 et est maintenant supprimé. moby/moby#46113 -
Suppression des alias dépréciés du package api/types. Ces types ont été dépréciés dans v25.0.0, qui fournissait des alias temporaires. moby/moby#47148 Ces alias sont maintenant supprimés :
types.Info
,types.Commit
,types.PluginsInfo
,types.NetworkAddressPool
,types.Runtime
,types.SecurityOpt
,types.KeyValue
,types.DecodeSecurityOptions
,types.CheckpointCreateOptions
,types.CheckpointListOptions
,types.CheckpointDeleteOptions
,types.Checkpoint
,types.ImageDeleteResponseItem
,types.ImageSummary
,types.ImageMetadata
,types.ServiceUpdateResponse
,types.ServiceCreateResponse
,types.ResizeOptions
,types.ContainerAttachOptions
,types.ContainerCommitOptions
,types.ContainerRemoveOptions
,types.ContainerStartOptions
,types.ContainerListOptions
,types.ContainerLogsOptions
-
cli/command/container : suppression de
NewStartOptions()
déprécié docker/cli#4811 -
cli/command : suppression des
DockerCliOption
,InitializeOpt
dépréciés docker/cli#4810