From 15cc8d404c869aba115abdb1920195d114325197 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Tue, 30 Dec 2025 18:59:44 +0700 Subject: [PATCH] Improve and update docker-advanced --- tutorial/docker-advanced/compose.md | 14 +++++++------ tutorial/docker-advanced/manual.md | 10 ++++++++- tutorial/docker-advanced/rendu.md | 2 +- tutorial/docker-advanced/security.md | 31 ++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 8 deletions(-) diff --git a/tutorial/docker-advanced/compose.md b/tutorial/docker-advanced/compose.md index 248c23c..7a396bf 100644 --- a/tutorial/docker-advanced/compose.md +++ b/tutorial/docker-advanced/compose.md @@ -9,7 +9,6 @@ contiendra les paramètres d'exécution.
```yaml -version: "3.9" services: influxdb: ... @@ -30,11 +29,14 @@ Ce fichier est un condensé des options que nous passons habituellement au #### `version` -Notons toutefois la présence d'une ligne `version` ; il ne s'agit pas de la -version de vos conteneurs, mais de la version du format de fichier -`docker-compose` qui sera utilisé. Sans indication de version, la version -originale sera utilisée, ne vous permettant pas d'utiliser les dernières -fonctionnalités de Docker. +Le champ `version` était utilisé pour spécifier la version du format de fichier +`docker-compose`. Depuis les versions récentes de Docker Compose, ce champ est +**déprécié** et n'est plus nécessaire. Docker Compose détecte automatiquement +les fonctionnalités utilisées dans le fichier. + +Vous pouvez donc **omettre ce champ** dans vos nouveaux fichiers +`docker-compose.yml`. Si vous rencontrez d'anciens fichiers avec `version: +"3.9"` ou similaire, sachez qu'il peut être supprimé sans problème. #### `services` diff --git a/tutorial/docker-advanced/manual.md b/tutorial/docker-advanced/manual.md index 11eadfe..a63c5f9 100644 --- a/tutorial/docker-advanced/manual.md +++ b/tutorial/docker-advanced/manual.md @@ -147,6 +147,14 @@ tar xzv -C /tmp ```
+ +::::: {.more} + +Vous pouvez vérifier la dernière version disponible sur la +[page des releases](https://github.com/influxdata/telegraf/releases) +et ajuster la variable `V` en conséquence. + +::::: Puis, lançons *Telegraf* :
@@ -205,7 +213,7 @@ lancé, celui-ci va régulièrement envoyer des métriques de cette machine. ### Afficher les données collectées À vous de jouer pour lancer le conteneur -[*Chronograf*](https://store.docker.com/images/chronograf). +[*Chronograf*](https://hub.docker.com/_/chronograf). ::::: {.question} diff --git a/tutorial/docker-advanced/rendu.md b/tutorial/docker-advanced/rendu.md index f41d796..6c0cce7 100644 --- a/tutorial/docker-advanced/rendu.md +++ b/tutorial/docker-advanced/rendu.md @@ -11,7 +11,7 @@ monitoring, d'un simple :
``` -42sh$ docker-compose up +42sh$ docker compose up ```
diff --git a/tutorial/docker-advanced/security.md b/tutorial/docker-advanced/security.md index a9cb8f2..b819899 100644 --- a/tutorial/docker-advanced/security.md +++ b/tutorial/docker-advanced/security.md @@ -114,3 +114,34 @@ On peut ensuite l'appliquer à un conteneur Docker : sleep: cannot read realtime clock: Operation not permitted ```
+ + +::::: {.exercice} + +## Sécuriser la stack TICK + +Maintenant que vous connaissez les mécanismes de limitation de ressources et +de sécurisation, appliquez-les à votre stack de monitoring TICK. + +### Limites de ressources + +1. Ajoutez des limites mémoire à vos conteneurs dans le `docker-compose.yml` : + - InfluxDB : limiter à 512 Mo de RAM + - Chronograf : limiter à 256 Mo de RAM + - Telegraf : limiter à 128 Mo de RAM + +2. Configurez les partages CPU pour que : + - InfluxDB obtienne 75% des ressources CPU disponibles (768) + - Chronograf et Telegraf se partagent les 25% restants (128 chacun) + + +### Sécurité + +3. Identifiez quelles capabilities sont nécessaires pour Telegraf afin de + collecter les métriques système. + +4. Testez le lancement de vos conteneurs avec l'option `--read-only` pour le + système de fichiers. Quels volumes devez-vous ajouter pour que les + conteneurs fonctionnent correctement en lecture seule ? + +:::::