From 3318c044f4fc176318bb53509f34ea2dbc37b53a Mon Sep 17 00:00:00 2001 From: nemunaire Date: Wed, 3 Oct 2018 10:56:13 +0200 Subject: [PATCH] Update 2018 --- tutorial/docker-basis/cleaning.md | 2 +- tutorial/docker-basis/rendu.md | 32 ++++++++++++++++++++---------- tutorial/docker-basis/tutorial.md | 10 +++++----- tutorial/docker-basis/what.md | 31 +++++++++++------------------ tutorial/dockerfiles/first.md | 16 +++------------ tutorial/dockerfiles/supervisor.md | 2 +- tutorial/dockerfiles/tutorial.md | 4 ++-- 7 files changed, 46 insertions(+), 51 deletions(-) diff --git a/tutorial/docker-basis/cleaning.md b/tutorial/docker-basis/cleaning.md index 79279b4..7b65555 100644 --- a/tutorial/docker-basis/cleaning.md +++ b/tutorial/docker-basis/cleaning.md @@ -16,7 +16,7 @@ l'option `--rm`. ## Conteneurs -Vous pouvez afficher l'ensemble des conteneurs, quelque soit leur état (en +Nous pouvons afficher l'ensemble des conteneurs, quelque soit leur état (en cours d'exécution, arrêtés, ...) avec la commande suivante :
diff --git a/tutorial/docker-basis/rendu.md b/tutorial/docker-basis/rendu.md index ff805e0..c1a0950 100644 --- a/tutorial/docker-basis/rendu.md +++ b/tutorial/docker-basis/rendu.md @@ -6,10 +6,11 @@ Projet et rendu ## Projet Écrivez un script `mycloud-run.sh` pour automatiser le lancement de votre -instance personnelle d'`owncloud`. Une attention particulière devra être -apportée à la manière dont vous gérerez le rappel du script pour éventuellement -relancer un conteneur qui se serait arrêté (évidemment sans perdre les -données). +instance personnelle [`nextcloud`](https://hub.docker.com/_/nextcloud/) ou +d'[`owncloud`](https://hub.docker.com/r/owncloud/server/). Une attention +particulière devra être apportée à la manière dont vous gérerez le rappel du +script pour éventuellement relancer un conteneur qui se serait arrêté +(évidemment sans perdre les données). À la fin de son exécution, le script affichera un lien utilisable sur l'hôte pour se rendre sur la page de connexion. Une autre machine de votre réseau @@ -34,6 +35,20 @@ l'hôte par exemple, etc.) et la plus respectueuse des bonnes pratiques que l'on a pu voir durant ce premier cours. +### Exemple d'exécution + +
+``` +42sh$ ./mycloud-run.sh +http://localhost:12345/ +42sh$ #docker kill db +42sh$ ./mycloud-run.sh # le script relancera une base de données, + # sans avoir perdu les données +http://localhost:12345/ +``` +
+ + ## Modalité de rendu Un service automatique s'occupe de réceptionner vos rendus, de faire des @@ -46,7 +61,7 @@ envoyé à une autre adresse et/ou non signé et/ou reçu après la correction n sera pas pris en compte. Par ailleurs, n'oubliez pas de répondre à -[l'évaluation du cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=20). +[l'évaluation du cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=213). ## Tarball @@ -58,11 +73,8 @@ Voici une arborescence type:
``` -login_x-TP1/webserver -login_x-TP1/webserver/Dockerfile -login_x-TP1/webserver/index.html -login_x-TP1/mycloud -login_x-TP1/mycloud/mycloud-run.sh +login_x-TP1/ +login_x-TP1/mycloud-run.sh ```
diff --git a/tutorial/docker-basis/tutorial.md b/tutorial/docker-basis/tutorial.md index 3ae359c..751a3f2 100644 --- a/tutorial/docker-basis/tutorial.md +++ b/tutorial/docker-basis/tutorial.md @@ -3,15 +3,15 @@ title: Virtualisation légère -- TP n^o^ 1 subtitle: Les bases de Docker author: Pierre-Olivier *Nemunaire* Mercier institute: EPITA -date: Jeudi 5 octobre 2017 +date: Jeudi 4 octobre 2018 ... Durant ce premier TP, nous allons apprendre à utiliser Docker ! -Tous les éléments de ce TP (exercices et projet) sont à rendre à - au plus tard le jeudi 19 octobre 2017 à 8 h 42. Consultez la -dernière section de chaque partie pour plus d'information sur les éléments à -rendre. +Le TP se termine par un petit projet à rendre à au plus tard +le jeudi 18 octobre 2018 à 8 h 42, des questions de cours sont également à +compléter avant cette date sur Epitaf. Consultez la dernière partie de ce TP +pour les modalités. En tant que personnes sensibilisées à la sécurité des échanges électroniques, vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à diff --git a/tutorial/docker-basis/what.md b/tutorial/docker-basis/what.md index 32cf766..942380d 100644 --- a/tutorial/docker-basis/what.md +++ b/tutorial/docker-basis/what.md @@ -20,30 +20,21 @@ chaque commande `docker` tapée est passée au deamon dans la machine virtuelle. `DOCKER_HOST` ou de passer le paramètre `-H` suivi de l'URL de la socket à `docker`. Voir aussi : -## `runc` et `containerd` - -La notion de conteneurs est maintenant normalisée par -[l'Open Container Initiative](https://opencontainers.org). - -Docker lance des conteneurs respectant cette norme grâce au programme `runc`. - -Toute la gestion de l'exécution du conteneur est déléguée au programme -`containerd`, également issu de l'initiative. Lui aussi est un daemon (géré -par Docker), dont le but est de monitorer les conteneurs lancés (pour les -relancer en cas de crash par exemple) ou encore de récupérer les logs de chaque -conteneur. - ## Les images Docker Une image Docker est un système de fichiers en lecture seule. Elle est formée d'un ensemble de couches, agrégées selon le principe d'UnionFS. -Une image peut, par exemple, être un système Ubuntu complet ou juste contenir -le programme `busybox` ou encore un serveur web et votre application web, prêts -à l'emploi. +Une image peut, par exemple, contenir : -Les images sont utilisées pour créer des conteneurs. +* un système Ubuntu complet, +* le programme `busybox`, +* un serveur web et votre application web, prêts à l'emploi, +* ... + +Les images sont utilisées comme modèle qui sera dupliqué lorsque l'on +démarre un nouveau conteneur. Il y a deux méthodes pour obtenir des images Docker : soit les construire avec les outils fournis, soit les récupérer depuis un registre. @@ -70,5 +61,7 @@ contenant des images. Ils permettent de récupérer des images, mais également d'en envoyer. Le registre utilisé de base est le [Docker Store](https://store.docker.com/) : -il contient à la fois des images officielles (ubuntu, debian, nginx, ...) et -des images créées par des utilisateurs. +il contient à la fois des images officielles (ubuntu, debian, nginx, ...), des +images créées par des utilisateurs ([Docker Hub](https://hub.docker.com/)), +mais aussi des images de grands éditeurs, payantes, à destination des +entreprises. diff --git a/tutorial/dockerfiles/first.md b/tutorial/dockerfiles/first.md index 6ae2eab..a07017f 100644 --- a/tutorial/dockerfiles/first.md +++ b/tutorial/dockerfiles/first.md @@ -58,7 +58,7 @@ télécharger le paquet mis à disposition puis à l'installer via `dpkg -i`. [^debrepos]: Le projet met à disposition des dépôts, si vous préférez cette méthode, consultez la - [documentation d'installation](https://docs.influxdata.com/influxdb/v1.3/introduction/installation/#ubuntu-debian). + [documentation d'installation](https://docs.influxdata.com/influxdb/v1.6/introduction/installation/#ubuntu-debian). Deux solutions s'offrent à nous : @@ -95,14 +95,14 @@ relevées. Vous pouvez monitorer les métriques de n'importe quelle machine, simplement en installant `telegraf` et en lui indiquant l'emplacement de son serveur InfluxDB. Nous allons installer `telegraf` sur notre machine à l'aide de la -[documentation](https://docs.influxdata.com/telegraf/v1.0/introduction/installation/). +[documentation](https://docs.influxdata.com/telegraf/v1.8/introduction/installation/). Ces quelques lignes devraient suffir à lancer la collecte, à condition que votre InfluxDB écoute sur le port 8086 local :
```bash -TELEGRAF_VERSION=1.0.0 +TELEGRAF_VERSION=1.8.0 wget https://dl.influxdata.com/telegraf/releases/telegraf-${TELEGRAF_VERSION}_linux_amd64.tar.gz tar xf telegraf-${TELEGRAF_VERSION}_linux_amd64.tar.gz TELEGRAF_CONFIG_PATH=./telegraf/etc/telegraf/telegraf.conf ./telegraf/usr/bin/telegraf @@ -127,15 +127,5 @@ Laissons tourner `telegraf` afin de constituer un petit historique de valeurs. ## Rendu -### Questions - -1. Dans quel langage est écrit `telegraf` ? - -1. Quelle(s) particularité(s) de ce langage permet de se passer de la variable - `LD_LIBRARY_PATH` au lancement de `telegraf`, alors qu'on ne l'a pas - installé ? - -### Éléments à rendre - Avant de passer à la suite, placez votre `Dockerfile` et les éventuels fichiers annexes dans un dossier `influxdb`. diff --git a/tutorial/dockerfiles/supervisor.md b/tutorial/dockerfiles/supervisor.md index 49e5f38..7c75973 100644 --- a/tutorial/dockerfiles/supervisor.md +++ b/tutorial/dockerfiles/supervisor.md @@ -20,7 +20,7 @@ Commençons par compléter la commande d'installation existante pour `influxdb`, afin d'installer simultanément `chronograf`. La documentation de la procédure est disponible -[à cette adresse](https://docs.influxdata.com/chronograf/v1.0/introduction/installation/). +[à cette adresse](https://docs.influxdata.com/chronograf/v1.6/introduction/installation/). ## Script d'init diff --git a/tutorial/dockerfiles/tutorial.md b/tutorial/dockerfiles/tutorial.md index 75ae306..e652155 100644 --- a/tutorial/dockerfiles/tutorial.md +++ b/tutorial/dockerfiles/tutorial.md @@ -1,12 +1,12 @@ --- -title: Virtualisation légère -- TP n^o^ 3 +title: Virtualisation légère -- TP n^o^ 2 subtitle: Construire des images Docker author: Pierre-Olivier *Nemunaire* Mercier institute: EPITA date: Jeudi 11 octobre 2018 ... -Durant ce troisième TP, nous allons voir comment créer nos propres images ! +Durant ce deuxième TP, nous allons voir comment créer nos propres images ! Tous les éléments de ce TP (exercices et projet) sont à rendre à au plus tard le jeudi 18 octobre 2018 à 8 h 42. Consultez la