From 3601652dd3e15d4ce771e663203699f2f44a0f96 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Tue, 20 Sep 2022 17:07:02 +0200 Subject: [PATCH] Subject docker-updater done --- subject/docker-updater/Makefile | 2 +- subject/docker-updater/docker-api.md | 43 ++++++++++++++++++++++++++++ tutorial/2/rendu.md | 2 +- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/subject/docker-updater/Makefile b/subject/docker-updater/Makefile index 5e858c8..d6120eb 100644 --- a/subject/docker-updater/Makefile +++ b/subject/docker-updater/Makefile @@ -1,6 +1,6 @@ include ../../tutorial/pandoc-opts.mk -SOURCES = subject.md docker-api.md ex-api-updater-intro.md ex-api-updater.md rendu.md end.md +SOURCES = subject.md ex-api-updater-intro.md ex-api-updater.md docker-api.md rendu.md end.md all: subject.pdf diff --git a/subject/docker-updater/docker-api.md b/subject/docker-updater/docker-api.md index e69de29..d603279 100644 --- a/subject/docker-updater/docker-api.md +++ b/subject/docker-updater/docker-api.md @@ -0,0 +1,43 @@ +Utiliser l'API de Docker +======================== + +Le Docker Engine expose une API REST sur le protocole HTTP. Comme première +tentative, vous pouvez essayer de récupérer des informations générales avec un +simple `curl` : + +```bash +curl -s --unix-socket /var/run/docker.sock http://localhost/v1.38/info | jq . +``` + +On retrouve un objet JSON contenant des informations similaires à ce que l'on +obtient avec un `docker info`. + +Le premier élément dans le chemin de l'URL correspond à la version de l'API que +l'on souhaite utiliser. Celle-ci change dès que des fonctionnalités sont +ajoutées, à l'occasion d'une nouvelle version. Il n'est généralement pas +nécessaire de mettre à jour cette version dans les programmes que vous +développez car l'API est rétro-compatible : les anciennes versions de l'API +restent accessibles. + +Pour réaliser cet exercice, vous pouvez utiliser le langage de votre choix, en +utilisant des outils ou des bibliothèques cohérents avec l'objectif recherché : +dialoguer avec l'API. + +Si vous êtes à l'aise en Python ou en Go, vous devriez utiliser les SDK +officiels : + +- Python : , +- Go : . + +Pour le C, C#, C++, Clojure, Dart, Erlang, Gradle, Groovy, Haskell, Java, +NodeJS, Perl, PHP, Ruby, Rust, Scala, Swift, des SDK plus ou moins complets +sont disponibles :\ + + +Mais pas de panique si cela ne vous convient pas, l'API est assez succincte et +très bien documentée. N'importe quel langage dans lequel il vous est aisé de +faire des requêtes HTTP et parser du JSON fait très bien l'affaire, y compris +en shell. + +Retrouvez la documentation de l'API ici :\ + diff --git a/tutorial/2/rendu.md b/tutorial/2/rendu.md index 36a26d2..46cf6dc 100644 --- a/tutorial/2/rendu.md +++ b/tutorial/2/rendu.md @@ -6,7 +6,7 @@ Rendu Est attendu d'ici le cours suivant : - votre `Dockerfile` et son *entrypoint* pour dépôt `youp0m` ; -- ce mini-projet ; +- le [mini-projet numéro 2](https://virli.nemunai.re/2-project.pdf) ; - vos réponses à [l'évaluation du cours](https://virli.nemunai.re/quiz/34).