Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| elearning:workbooks:docker1:drf03 [2021/04/05 11:03] – admin | elearning:workbooks:docker1:drf03 [2021/12/29 10:32] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ~~PDF: | ~~PDF: | ||
| - | Version : **2021.01** | + | Version : **2022.01** |
| Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
| - | ======DOF104 - Gestion des Volumes, du Réseau et des Ressources====== | + | ======DOF104 - Gestion des Volumes, du Réseau et de la Supervision |
| =====Contenu du Module===== | =====Contenu du Module===== | ||
| Ligne 26: | Ligne 26: | ||
| * 3.2 - Les Processus | * 3.2 - Les Processus | ||
| * 3.3 - L' | * 3.3 - L' | ||
| - | * LAB #4 - Gestion des Ressources | ||
| - | * 4.1 - Limiter la Mémoire | ||
| =====LAB #1 - Gestion des Volumes===== | =====LAB #1 - Gestion des Volumes===== | ||
| Ligne 302: | Ligne 300: | ||
| </ | </ | ||
| - | https://docs.docker.com/storage/volumes/ | + | Pour créer un volume à utiliser avec un conteneur utilisez la commande docker volume **create** |
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | myvolume | ||
| + | </code> | ||
| + | |||
| + | Pour lister les volumes, utilisez la commande docker volume **ls** : | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | DRIVER | ||
| + | local | ||
| + | </code> | ||
| + | |||
| + | Notez maintenant l' | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | [ | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | </ | ||
| + | |||
| + | Créez un fichier témoin dans le répertoire **/ | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | </ | ||
| + | |||
| + | Démarrez maintenant un conteneur qui utilise ce volume : | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | root@673f9c8bc837:/# | ||
| + | bin boot dev etc home lib lib32 lib64 libx32 | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important> | ||
| + | **Important** : Notez l' | ||
| + | </ | ||
| + | |||
| + | Notez que le fichier témoin **test-file** est disponible dans le conteneur : | ||
| + | |||
| + | < | ||
| + | root@673f9c8bc837:/# | ||
| + | root@673f9c8bc837:/ | ||
| + | test-file | ||
| + | </ | ||
| + | |||
| + | Créez un deuxième fichier témoin dans le répertoire **/ | ||
| + | |||
| + | < | ||
| + | root@673f9c8bc837:/ | ||
| + | root@673f9c8bc837:/ | ||
| + | </ | ||
| + | |||
| + | Contrôlez maintenant le contenu du répertoire **/var/lib/docker/ | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | total 0 | ||
| + | -rw-r--r-- 1 root root 0 avril 15 10:22 container_volume | ||
| + | -rw-r--r-- 1 root root 0 avril 15 10:16 test-file | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important> | ||
| + | **Important** : Notez que les deux fichiers témoins sont visibles. | ||
| + | </WRAP> | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | ubuntu-volume | ||
| + | root@debian9: | ||
| + | total 0 | ||
| + | -rw-r--r-- 1 root root 0 avril 15 10:22 container_volume | ||
| + | -rw-r--r-- 1 root root 0 avril 15 10:16 test-file | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important> | ||
| + | **Important** : Notez que les deux fichiers témoins sont toujours visibles. | ||
| + | </ | ||
| + | |||
| + | Créez maintenant un deuxième conteneur en spécifiant un volume qui n' | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | root@b1476960de63:/# | ||
| + | bin boot dev etc home lib lib32 lib64 libx32 | ||
| + | root@b1476960de63:/# | ||
| + | root@b1476960de63:/ | ||
| + | root@b1476960de63:/ | ||
| + | exit | ||
| + | </ | ||
| + | |||
| + | Notez que Docker a automatiquement créé le volume : | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | DRIVER | ||
| + | local | ||
| + | local | ||
| + | root@debian9: | ||
| + | total 0 | ||
| + | -rw-r--r-- 1 root root 0 avril 15 12:06 file_myvolume1 | ||
| + | </ | ||
| + | |||
| + | Un autre type de volume utilisable avec Docker est le **Bindmount**. Un Bindmount : | ||
| + | |||
| + | * dépend de la structure de l' | ||
| + | * ne peut pas être contrôler par la CLI Docker. | ||
| + | |||
| + | Pour créer un Bindmount, commencez par créer le répertoire **bindmount** dans **/root** : | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | root@debian9: | ||
| + | </ | ||
| + | |||
| + | Montez le Bindmount à l' | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | root@7b13fe558984:/# | ||
| + | bin bindmount | ||
| + | root@7b13fe558984:/# | ||
| + | root@7b13fe558984:/ | ||
| + | test_bind | ||
| + | root@7b13fe558984:/ | ||
| + | root@7b13fe558984:/ | ||
| + | container_bind | ||
| + | root@7b13fe558984:/ | ||
| + | exit | ||
| + | </ | ||
| + | |||
| + | Conrôlez la présence du fichier témoin : | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | total 0 | ||
| + | -rw-r--r-- 1 root root 0 avril 15 10:32 container_bind | ||
| + | -rw-r--r-- 1 root root 0 avril 15 10:32 test_bind | ||
| + | root@debian9: | ||
| + | ubuntu-volume | ||
| + | root@debian9: | ||
| + | total 0 | ||
| + | -rw-r--r-- 1 root root 0 avril 15 10:32 container_bind | ||
| + | -rw-r--r-- 1 root root 0 avril 15 10:32 test_bind | ||
| + | </ | ||
| + | |||
| + | Notez que la CLI Docker n'a pas de connaissance de ce point de montage : | ||
| + | |||
| + | < | ||
| + | root@debian9: | ||
| + | DRIVER | ||
| + | local | ||
| + | </ | ||
| =====LAB #2 - Gestion du Réseau===== | =====LAB #2 - Gestion du Réseau===== | ||
| Ligne 696: | Ligne 859: | ||
| Ce type de réseau est utilisé dans le cas où le réseau ne doit pas être isolé de l' | Ce type de réseau est utilisé dans le cas où le réseau ne doit pas être isolé de l' | ||
| - | Dans le cas de la machine virtuelle, l' | + | Dans le cas de la machine virtuelle, l' |
| < | < | ||
| - | root@debian9: | + | root@debian9: |
| - | 2: enp0s3: < | + | 2: ens18: < |
| link/ether 08: | link/ether 08: | ||
| - | inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic | + | inet 10.0.2.60/24 brd 10.0.2.255 scope global dynamic |
| | | ||
| inet6 fe80:: | inet6 fe80:: | ||
| Ligne 719: | Ligne 882: | ||
| inet6 ::1/128 scope host | inet6 ::1/128 scope host | ||
| | | ||
| - | 2: enp0s3: < | + | 2: ens18: < |
| link/ether 08: | link/ether 08: | ||
| - | inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic | + | inet 10.0.2.60/24 brd 10.0.2.255 scope global dynamic |
| | | ||
| inet6 fe80:: | inet6 fe80:: | ||
| Ligne 736: | Ligne 899: | ||
| </ | </ | ||
| - | Le but de ce type de réseau est de permettre l' | + | Le but de ce type de réseau est de permettre l' |
| Pour cette raison, dans le cas de l' | Pour cette raison, dans le cas de l' | ||
| Ligne 889: | Ligne 1052: | ||
| < | < | ||
| - | root@debian9: | + | root@debian9: |
| Unable to find image ' | Unable to find image ' | ||
| latest: Pulling from library/ | latest: Pulling from library/ | ||
| Ligne 922: | Ligne 1085: | ||
| root@debian9: | root@debian9: | ||
| CONTAINER ID IMAGE | CONTAINER ID IMAGE | ||
| - | 9eb2f7fbfbd2 | + | 9eb2f7fbfbd2 |
| 67831dacf002 | 67831dacf002 | ||
| </ | </ | ||
| Ligne 929: | Ligne 1092: | ||
| < | < | ||
| - | root@debian9: | + | root@debian9: |
| | | ||
| | | ||
| Ligne 1028: | Ligne 1191: | ||
| </ | </ | ||
| - | =====LAB #4 - Gestion des Ressources===== | + | ----- |
| - | La gestion de base des ressources allouées à un conteneur peut être réalisée par l' | + | Copyright © 2022 Hugh Norris. |
| - | + | ||
| - | * --memory | + | |
| - | * --cpu-shares | + | |
| - | + | ||
| - | ====4.1 - Limiter la Mémoire==== | + | |
| - | + | ||
| - | Par exemple, exécutez un conteneur à partir de l' | + | |
| - | + | ||
| - | < | + | |
| - | root@debian9: | + | |
| - | fc8ce16b3ec86433662719ca1f710a0588951d4f4abb8d90159b5953f419eef7 | + | |
| - | </ | + | |
| - | + | ||
| - | Exécutez ensuite la commande **docker stats** pour visualiser la limite de la mémoire : | + | |
| - | + | ||
| - | < | + | |
| - | CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O | + | |
| - | fc8ce16b3ec8 | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round important> | + | |
| - | **Important** : Notez que la limite définie par **--memory** est une taille absolue tandis que la limite définie par **--cpu-shares** est relative. | + | |
| - | </ | + | |
| - | + | ||
| - | ----- | + | |
| - | < | + | |
| - | <div align=" | + | |
| - | Copyright © 2021 Hugh NORRIS | + | |
| - | </ | + | |
| - | </ | + | |