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:drf02 [2020/08/11 08:35] – admin | elearning:workbooks:docker1:drf02 [2021/12/29 10:32] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ~~PDF: | ~~PDF: | ||
| - | Version : **2020.01** | + | Version : **2022.01** |
| Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
| Ligne 28: | Ligne 28: | ||
| =====LAB #1 - Re-créer une image officielle docker===== | =====LAB #1 - Re-créer une image officielle docker===== | ||
| - | ====Utilisation d'un Dockerfile==== | + | ====1.1 - Utilisation d'un Dockerfile==== |
| Bien que la compilation des images soient assuré par Docker Hub, il est tout à fait possible de compiler une image " | Bien que la compilation des images soient assuré par Docker Hub, il est tout à fait possible de compiler une image " | ||
| Ligne 78: | Ligne 78: | ||
| wget -O / | wget -O / | ||
| export GNUPGHOME=" | export GNUPGHOME=" | ||
| - | gpg --batch --keyserver | + | gpg --batch --keyserver |
| - | gpg --batch --verify / | + | # gpg --batch --verify / |
| command -v gpgconf && gpgconf --kill all || :; \ | command -v gpgconf && gpgconf --kill all || :; \ | ||
| rm -r " | rm -r " | ||
| Ligne 97: | Ligne 97: | ||
| export GNUPGHOME=" | export GNUPGHOME=" | ||
| for key in $GPG_KEYS; do \ | for key in $GPG_KEYS; do \ | ||
| - | gpg --batch --keyserver | + | gpg --batch --keyserver |
| done; \ | done; \ | ||
| gpg --batch --export $GPG_KEYS > / | gpg --batch --export $GPG_KEYS > / | ||
| Ligne 499: | Ligne 499: | ||
| Examinons chaque commande dans le Dockerfile : | Examinons chaque commande dans le Dockerfile : | ||
| - | ====FROM==== | + | ====1.2 - FROM==== |
| < | < | ||
| Ligne 507: | Ligne 507: | ||
| Cette ligne définit l' | Cette ligne définit l' | ||
| - | ====RUN==== | + | ====1.3 - RUN==== |
| < | < | ||
| Ligne 594: | Ligne 594: | ||
| </ | </ | ||
| - | ====ENV==== | + | ====1.4 - ENV==== |
| Cette commande permet de fixer la valeur d'une variable d' | Cette commande permet de fixer la valeur d'une variable d' | ||
| Ligne 617: | Ligne 617: | ||
| **et** dans les conteneurs générés à partir de l' | **et** dans les conteneurs générés à partir de l' | ||
| - | ====VOLUME==== | + | ====1.5 - VOLUME==== |
| < | < | ||
| Ligne 627: | Ligne 627: | ||
| Cette commande expose les répertoires passés en argument afin qu'ils puissent être mappés vers des répertoires sur la machine hôte ou ailleurs, tel que nous avons vu avec l' | Cette commande expose les répertoires passés en argument afin qu'ils puissent être mappés vers des répertoires sur la machine hôte ou ailleurs, tel que nous avons vu avec l' | ||
| - | ====COPY==== | + | ====1.6 - COPY==== |
| < | < | ||
| Ligne 637: | Ligne 637: | ||
| Cette commande permet de récupérer les fichiers dans le contexte et de les copier dans l' | Cette commande permet de récupérer les fichiers dans le contexte et de les copier dans l' | ||
| - | Rappelez-vous de l' | + | **Attention** : tous les fichiers dans le contexte sont inclus dans l' |
| Il est possible d' | Il est possible d' | ||
| Ligne 645: | Ligne 645: | ||
| </ | </ | ||
| - | ====ENTRYPOINT==== | + | ====1.7 - ENTRYPOINT==== |
| < | < | ||
| Ligne 695: | Ligne 695: | ||
| si la valeur du paramètre passé à entrypoint.sh est **mongod**, le script affecte l' | si la valeur du paramètre passé à entrypoint.sh est **mongod**, le script affecte l' | ||
| - | Ce fichier finit par " | + | Ce fichier finit par " |
| - | + | ||
| - | < | + | |
| - | root@debian9: | + | |
| - | mongo2 | + | |
| - | root@debian9: | + | |
| - | root@a2b3a0f53f62:/# | + | |
| - | / | + | |
| - | root@a2b3a0f53f62:/# | + | |
| - | exit | + | |
| - | root@debian9: | + | |
| - | </ | + | |
| <WRAP center round important> | <WRAP center round important> | ||
| - | **Important** - Notez que la compilation d'une image se fait à l' | + | **Important** - Notez que la compilation d'une image se fait à l' |
| </ | </ | ||
| - | ====EXPOSE==== | + | ====1.8 - EXPOSE==== |
| < | < | ||
| Ligne 720: | Ligne 709: | ||
| </ | </ | ||
| - | Cette commande permet d' | + | Cette commande permet d' |
| - | < | + | ====1.9 - CMD==== |
| - | root@debian9: | + | |
| - | mongo2 | + | |
| - | root@debian9: | + | |
| - | b3380889eb750298710e956f284f291b786f4382465d247ae58f9b73d2d276ca | + | |
| - | root@debian9: | + | |
| - | CONTAINER ID IMAGE | + | |
| - | b3380889eb75 | + | |
| - | bf72bd700870 | + | |
| - | d2ddb4f8ca8a | + | |
| - | c080793965de | + | |
| - | 4f157e179134 | + | |
| - | 04b5ab87539a | + | |
| - | </ | + | |
| - | + | ||
| - | ====CMD==== | + | |
| < | < | ||
| Ligne 747: | Ligne 721: | ||
| Ceci représente la valeur du paramètre par défaut si aucun paramètre n'est spécifié à la fin de la commande docker run. | Ceci représente la valeur du paramètre par défaut si aucun paramètre n'est spécifié à la fin de la commande docker run. | ||
| - | ====Autres Commandes==== | + | ====1.10 - Autres Commandes==== |
| Le Dockerfile peut aussi contenir les commandes suivantes : | Le Dockerfile peut aussi contenir les commandes suivantes : | ||
| Ligne 811: | Ligne 785: | ||
| < | < | ||
| + | root@debian9: | ||
| + | mongo1 | ||
| root@debian9: | root@debian9: | ||
| root@debian9: | root@debian9: | ||
| Ligne 994: | Ligne 970: | ||
| =====LAB #2 - Créer un Dockerfile===== | =====LAB #2 - Créer un Dockerfile===== | ||
| - | ====Création et test du script==== | + | ====2.1 - Création et test du script==== |
| Créez un répertoire nommé myDocker : | Créez un répertoire nommé myDocker : | ||
| Ligne 1209: | Ligne 1185: | ||
| </ | </ | ||
| - | ====Bonnes Pratiques liées au Cache==== | + | ====2.2 - Bonnes Pratiques liées au Cache==== |
| ===Opérations Non-Idempotentes=== | ===Opérations Non-Idempotentes=== | ||
| Ligne 1343: | Ligne 1319: | ||
| ----- | ----- | ||
| - | < | + | |
| - | <div align=" | + | Copyright © 2022 Hugh Norris. |
| - | Copyright © 2020 Hugh NORRIS | + | |
| - | </ | + | |
| - | </ | + | |