Ready for j1
This commit is contained in:
parent
150f5a8834
commit
dc8544c0c9
31 changed files with 690 additions and 546 deletions
|
|
@ -1,68 +1,18 @@
|
|||
\newpage
|
||||
|
||||
# Composition de Docker
|
||||
# But du TP
|
||||
|
||||
Docker est une suite d'outils de haut niveau, permettant d'utiliser très
|
||||
facilement les conteneurs.
|
||||
Aujourd'hui, nous allons terminer notre système de monitoring commencé lors du
|
||||
premier TP.
|
||||
|
||||
Docker est composé d'un daemon lancé au démarrage de votre machine, avec lequel
|
||||
vous interagissez via un client (le programme `docker`) qui se connecte au
|
||||
daemon au moyen d'une socket. Le client peut donc potentiellement être sur une
|
||||
machine distincte du daemon où s'exécutent les conteneurs.
|
||||
Le résultat attendu d'ici la fin du TP, est un groupe de conteneurs
|
||||
indépendants les uns des autres, réutilisables en fonction des besoins.
|
||||
|
||||
TODO image de graphana
|
||||
|
||||
## Les images Docker
|
||||
|
||||
Une image Docker est un système de fichiers en lecture seule. Il est formé d'un
|
||||
ensemble de couches, agrégées par un UnionFS.
|
||||
|
||||
Par exemple, une image peut être un système Ubuntu complet ou juste busybox ou
|
||||
encore un serveur web et votre application web, prêt à l'emploi.
|
||||
|
||||
Les images sont utilisées pour créer des conteneurs.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
## Les conteneurs Docker
|
||||
|
||||
Alors que les images constituent la partie immuable de Docker, les conteneurs
|
||||
sont sa partie vivante. Chaque conteneur est créé à partir d'une image : à
|
||||
chaque fois que vous lancez un conteneur, une couche lecture/écriture est
|
||||
ajoutée au dessus de l'image. Cette couche est propre au conteneur et est
|
||||
temporaire : l'image n'est pas modifié par l'exécution d'un conteneur.
|
||||
|
||||
Chaque conteneur s'exécute dans un environnement restreint (namespaces,
|
||||
cgroups, capabilities, ...).
|
||||
|
||||
|
||||
## Les registres Docker (*Docker registries*)
|
||||
|
||||
Les registres sont des plates-formes de stockage, publiques ou privées,
|
||||
contenant des images. Ils permettent de récupérer des images, mais également
|
||||
d'en réceptionner.
|
||||
|
||||
Le registre utilisé de base est le [Docker Hub](https://hub.docker.com/) : il
|
||||
contient à la fois des images officielles (ubuntu, debian, nginx, ...) et des
|
||||
images crées par des utilisateurs.
|
||||
|
||||
|
||||
## Outils annexes
|
||||
|
||||
En plus du Docker-engine, le daemon et client que nous allons utiliser
|
||||
aujourd'hui, Docker développe également Docker-machine : qui permet d'installer
|
||||
et configurer le daemon rapidement sur plusieurs machines (afin de les utiliser
|
||||
au sein d'un cluster) et Docker-compose : qui permet de lancer un ensemble de
|
||||
conteneurs dépend les uns des autres (par exemple un serveur web et sa base de
|
||||
données).
|
||||
|
||||
|
||||
## Rendu
|
||||
|
||||
1. À quoi correspondent les différents modes réseau utilisables dans Docker : à
|
||||
quel type de réseau LXC (VLAN, MACVLAN-VEPA, veth, phys, ...)
|
||||
correspondent-ils ? comment sont utilisés les *namespaces Network* ?
|
||||
|
||||
1. Quels sont les différents *storage drivers* de Docker ? décrivez-les en
|
||||
quelques mots.
|
||||
Nous reprendrons le script de monitoring que vous avez rendu au premier TP. Les
|
||||
données collectées seront envoyés vers [https://influxdb.com/](InfluxDB), puis
|
||||
elles seront affichées sous forme de graphique dans
|
||||
[http://grafana.org/](Grafana). L'interface sera servie par un reverse-proxy
|
||||
qui vous permettra de n'ouvrir que le port 80 ou 443, pour accéder à
|
||||
l'interface d'administration d'InfluxDB et à l'interface de Grafana.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue