Tutorial 1 ready for 2023

This commit is contained in:
nemunaire 2022-09-13 23:19:59 +02:00
commit 885a410b77
26 changed files with 462 additions and 256 deletions

View file

@ -1,5 +1,3 @@
\newpage
Composition de conteneurs
-------------------------
@ -42,7 +40,7 @@ fonctionnalités de Docker.
#### `services`
Cette section énumère la liste des services (ou conteneurs) qui seront gérés
par `docker-compose`.
par `docker compose`.
Ils peuvent dépendre d'une image à construire localement, dans ce cas ils
auront un fils `build`. Ou ils peuvent utiliser une image déjà existante, dans
@ -144,9 +142,9 @@ la commande suivante et admirer le résultat:
<div lang="en-US">
```bash
docker-compose up
docker compose up
```
</div>
Encore une fois, testez la bonne connexion entre chronograf (accessible sur
<http://localhost:8888>) et influxdb.
Encore une fois, testez la bonne connexion entre `chronograf` (accessible sur
<http://localhost:8888>) et `influxdb`.

View file

@ -1,5 +1,3 @@
\newpage
Lier des conteneurs
-------------------
@ -16,7 +14,7 @@ Le premier conteneur qui doit être lancé est la base de données orientée sé
temporelles:
[InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/).
En effet, tous les autres conteneurs ont besoin de cette base de données pour
fonctionner correctement\: il serait impossible à *Chronograf* d'afficher les
fonctionner correctement: il serait impossible à *Chronograf* d'afficher les
données sans base de données, tout comme *Telegraf* ne pourrait écrire les
métriques dans une base de données à l'arrêt.
@ -31,6 +29,16 @@ docker container run -p 8086:8086 -d --name mytsdb influxdb:1.8
```
</div>
::::: {.warning}
Remarquez que nous n'utilisons pas la version 2 d'InfluxDB. Sa mise en
place est plus contraignantes pour faire de simples tests. Si vous
souhaitez tout de même utiliser la dernière version de la stack TICK,
vous pouvez consulter le `README` du conteneur sur le Docker Hub:\
<https://hub.docker.com/_/influxdb>
:::::
Comme il s'agit d'une API REST, nous pouvons vérifier le bon fonctionnement de
notre base de données en appelant:
@ -59,8 +67,8 @@ le client officiel (le binaire s'appelle `influx`):
```
42sh$ docker container run --rm -it --link mytsdb:influxdb influxdb:1.8 \
influx -host influxdb
Connected to http://influxdb:8086 version 1.8.9
InfluxDB shell version: 1.8.9
Connected to http://influxdb:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> show databases
name: databases
name
@ -132,7 +140,7 @@ système. Pour cela, on commence par télécharger *Telegraf*:
<div lang="en-US">
```bash
V=1.19.2
V=1.23.4
P=telegraf-${V}_linux_$(uname -m)
curl https://dl.influxdata.com/telegraf/releases/${P}.tar.gz | \
tar xzv -C /tmp
@ -163,7 +171,7 @@ Et observons ensuite:
```bash
42sh$ docker container run --rm -it --link mytsdb:zelda influxdb:1.8 \
influx -host zelda
InfluxDB shell version: 1.8.9
InfluxDB shell version: 1.8.10
> show databases
name: databases
name
@ -199,6 +207,16 @@ lancé, celui-ci va régulièrement envoyer des métriques de cette machine.
À vous de jouer pour lancer le conteneur
[*Chronograf*](https://store.docker.com/images/chronograf).
::::: {.question}
#### InfluxDB v2 {-}
Chronograf n'existe plus en tant que projet indépendant dans la version 2, si
vous êtes parti sur cette version, vous retrouverez les tableaux de bord
directement dans l'interface d'InfluxDB, sur le port 8086.
:::::
L'interface de *Chronograf* est disponible sur le port 8888.
Consultez la [documentation du conteneur](https://hub.docker.com/_/chronograf)

View file

@ -1,5 +1,3 @@
\newpage
Mise en place
-------------
@ -11,19 +9,7 @@ communauté, et parfois même appropriées par Docker.
### `docker-compose`
Dans cette partie, nous allons avoir besoin de `docker-compose`.
Ce projet ne bénéficie pas d'une intégration au sein du projet Docker et doit
être téléchargé séparément, car originellement, le projet était développé par
une équipe indépendante (et en Python). Il constitue aujourd'hui une brique de
l'écosystème Docker, presque indispensable !
#### Par le gestionnaire de paquets
Les distributions à jour vous proposeront un paquet `docker-compose` qui
fonctionnera avec la version de Docker qu'ils fournissent.
#### Par la distribution binaire
Dans cette partie, nous allons avoir besoin du plugin `docker-compose`.
L'équipe en charge du projet met à disposition un exécutable que nous pouvons
téléchargeant depuis <https://github.com/docker/compose/releases>.
@ -31,6 +17,21 @@ téléchargeant depuis <https://github.com/docker/compose/releases>.
Ajoutez l'exécutable dans le dossier des plugins : `$HOME/.docker/cli-plugins`
(sans oublier de `chmod +x` !).
::::: {.more}
Autrefois, `docker-compose` était un script tiers que l'on utilisait
indépendamment de Docker. Le projet, historiquement écrit en Python, a été
entièrement réécrit récemment afin qu'il s'intégre mieux dans l'écosystème.
Vous trouverez encore de nombreux articles vous incitant à utiliser
`docker-compose`. Dans la plupart des cas, vous pouvez simplement remplacer par
des appels à `docker compose`.
Il y a même un outil qui a spécialement été conçu pour migrer les lignes de
commandes :\
<https://github.com/docker/compose-switch>
:::::
#### Vérification du fonctionnement
@ -39,8 +40,8 @@ Comme avec Docker, nous pouvons vérifier le bon fonctionnement de
<div lang="en-US">
```
42sh$ docker-compose --version
docker-compose version: 1.29.2
42sh$ docker compose version
Docker Compose version v2.10.2
```
</div>