Subject docker-updater done

This commit is contained in:
nemunaire 2022-09-20 17:07:02 +02:00
parent 3aa4818414
commit 3601652dd3
3 changed files with 45 additions and 2 deletions

View File

@ -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

View File

@ -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 : <https://docker-py.readthedocs.io/en/stable/client.html>,
- Go : <https://pkg.go.dev/github.com/docker/docker/client>.
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 :\
<https://docs.docker.com/engine/api/sdk/#unofficial-libraries>
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 :\
<https://docs.docker.com/engine/api/latest/>

View File

@ -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).