API Docker Engine
Docker fournit une API pour interagir avec le démon Docker (appelé l'API Docker Engine), ainsi que des SDK pour Go et Python. Les SDK vous permettent de créer et d'adapter efficacement des applications et solutions Docker. Si Go ou Python ne conviennent pas, vous pouvez utiliser l'API Docker Engine directement.
Pour plus d'informations sur les SDK Docker Engine, voir Développer avec les SDK Docker Engine.
L'API Docker Engine est une API RESTful accessible par un client HTTP tel que wget
ou
curl
, ou la bibliothèque HTTP qui fait partie de la plupart des langages de programmation modernes.
Voir la référence de l'API
Vous pouvez voir la référence de la dernière version de l'API ou choisir une version spécifique.
API et SDK versionnés
La version de l'API Docker Engine que vous devez utiliser dépend de la version de votre démon Docker et de votre client Docker.
Une version donnée du SDK Docker Engine prend en charge une version spécifique de l'API Docker Engine, ainsi que toutes les versions antérieures. Si des changements critiques se produisent, ils sont documentés de manière proéminente.
NoteLe démon Docker et le client n'ont pas nécessairement besoin d'être de la même version en permanence. Cependant, gardez à l'esprit ce qui suit.
Si le démon est plus récent que le client, le client ne connaît pas les nouvelles fonctionnalités ou les points de terminaison API dépréciés dans le démon.
Si le client est plus récent que le démon, le client peut demander des points de terminaison API que le démon ne connaît pas.
Une nouvelle version de l'API est publiée lorsque de nouvelles fonctionnalités sont ajoutées. L'API Docker est rétrocompatible, donc vous n'avez pas besoin de mettre à jour le code qui utilise l'API sauf si vous devez profiter de nouvelles fonctionnalités.
Pour voir la version la plus élevée de l'API que votre démon Docker et votre client prennent en charge, utilisez
docker version
:
$ docker version
Client: Docker Engine - Community
Version: 28.2.2
API version: 1.50
Go version: go1.24.3
Git commit: e6534b4
Built: Fri May 30 12:07:29 2025
OS/Arch: linux/arm64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.2.2
API version: 1.50 (minimum version 1.24)
Go version: go1.24.3
Git commit: 45873be
Built: Fri May 30 12:07:29 2025
OS/Arch: linux/arm64
...
Vous pouvez spécifier la version de l'API à utiliser de l'une des manières suivantes :
-
Lors de l'utilisation du SDK, utilisez la dernière version. Au minimum, utilisez la version qui incorpore la version de l'API avec les fonctionnalités dont vous avez besoin.
-
Lors de l'utilisation directe de
curl
, spécifiez la version comme première partie de l'URL. Par exemple, si le point de terminaison est/containers/
, vous pouvez utiliser/v1.50/containers/
. -
Pour forcer le CLI Docker ou les SDK Docker Engine à utiliser une version plus ancienne de l'API que la version rapportée par
docker version
, définissez la variable d'environnementDOCKER_API_VERSION
à la version correcte. Cela fonctionne sur les clients Linux, Windows ou macOS.$ DOCKER_API_VERSION=1.49
Tant que la variable d'environnement est définie, cette version de l'API est utilisée, même si le démon Docker prend en charge une version plus récente. Cette variable d'environnement désactive la négociation de version de l'API, donc vous ne devriez l'utiliser que si vous devez utiliser une version spécifique de l'API, ou à des fins de débogage.
-
Le SDK Docker Go vous permet d'activer la négociation de version de l'API, sélectionne automatiquement une version d'API qui est prise en charge à la fois par le client et le Docker Engine qui est en cours d'utilisation.
-
Pour les SDK, vous pouvez également spécifier la version de l'API par programmation comme paramètre de l'objet
client
. Voir le constructeur Go ou la documentation du SDK Python pourclient
.
Matrice des versions d'API
Version Docker | Version API maximale | Journal des modifications |
---|---|---|
28.2 | 1.50 | modifications |
28.1 | 1.49 | modifications |
28.0 | 1.48 | modifications |
27.5 | 1.47 | modifications |
27.4 | 1.47 | modifications |
27.3 | 1.47 | modifications |
27.2 | 1.47 | modifications |
27.1 | 1.46 | modifications |
27.0 | 1.46 | modifications |
26.1 | 1.45 | modifications |
26.0 | 1.45 | modifications |
25.0 | 1.44 | modifications |
24.0 | 1.43 | modifications |
23.0 | 1.42 | modifications |
20.10 | 1.41 | modifications |
19.03 | 1.40 | modifications |
18.09 | 1.39 | modifications |
18.06 | 1.38 | modifications |
18.05 | 1.37 | modifications |
18.04 | 1.37 | modifications |
18.03 | 1.37 | modifications |
18.02 | 1.36 | modifications |
17.12 | 1.35 | modifications |
17.11 | 1.34 | modifications |
17.10 | 1.33 | modifications |
17.09 | 1.32 | modifications |
17.07 | 1.31 | modifications |
17.06 | 1.30 | modifications |
17.05 | 1.29 | modifications |
17.04 | 1.28 | modifications |
17.03.1 | 1.27 | modifications |
17.03 | 1.26 | modifications |
1.13.1 | 1.26 | modifications |
1.13 | 1.25 | modifications |
1.12 | 1.24 | modifications |
Versions d'API dépréciées
Les versions d'API antérieures à v1.24 sont dépréciées. Vous pouvez trouver la documentation archivée pour les versions dépréciées de l'API dans le dépôt de code sur GitHub :