Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
elearning:workbooks:docker1:drf04 [2020/02/08 12:40] – créée adminelearning:workbooks:docker1:drf04 [2022/05/19 09:48] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2020.01**+Version : **2022.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======DOF105 - Stocker les Images Docker======+======DOF105 - Validation de la Formation======
  
-Cette unité contient un LAB :+=====Contenu du Module=====
  
-  * LAB #1 Installer un Registre Privé.+  * **DOF105 Validation de la Formation** 
 +    * Contenu du Module 
 +    * Support de Cours 
 +    * Rappel du Programme de la Formation 
 +    * Évaluation de la Formation 
 +    * Validation des Acquis
  
-=====LAB #1 - Installer un Registre Privé=====+=====Support de Cours=====
  
-====Préparation====+L'accès au supports de cours ainsi que les LABS et les validations des acquis se fait grâce à un abonnement annuel par stagiaire à une plateforme de cours sur Internet.
  
-Créez un répertoire nommé myDocker :+L'utilisation de cette plateforme permet :
  
-<code> +  * de mesurer le niveau du stagiaire avant la formation et celui atteint en fin de formation grâce aux tests de validations des acquis, 
-root@debian9:~/mongodb# mkdir ~/myDocker +  * de suivre du travail de chaque participant en termes de temps passé dans chaque module grâce à un reporting détaillé.
-root@debian9:~/mongodb# cd ~/myDocker +
-root@debian9:~/myDocker#  +
-</code>+
  
-Créez le fichier myEntrypoint.sh :+L'abonnement permet aux stagiaires :
  
-<code> +  * de télécharger des supports de cours et des LABS au format PDF le dernier jour de la formation, 
-root@debian9:~/myDocker# vi myEntrypoint.sh +  * de refaire les LABS en mode autonome en cas de missions décalées en relation avec le contenu de la formation initiale, 
-root@debian9:~/myDocker# cat myEntrypoint.sh  +  * de rester en contact avec le formateur en cas de problèmes en production liés au contenu du cours, 
-#!/bin/bash +  * de consulter les mises à jour du contenu des supports de cours pendant la période de l'abonnement, 
-if [ -z "$myVariable" ]; then +  * d'échanger avec les autres participants de la session ainsi qu'avec les anciens stagiaires.
- echo "La variable myVariable doit être renseignée" +
- return 1 +
-fi+
  
-while true; +=====Rappel du Programme de la Formation=====
-do +
- echo $1 \($(date +%H:%M:%S)\); +
- sleep "$myVariable"; +
-done +
-</code>+
  
-Testez ce script :+  * **DOF100 - Présentation de la Formation**. 
 +    * Contenu du Module 
 +    * Prérequis 
 +      * Matériel 
 +      * Logiciels 
 +      * Internet 
 +    * Programme de la Formation 
 +    * Évaluation des Compétences en Amont
  
-<code> +  * **DOF101 - La Virtualisation par Isolation**. 
-root@debian9:~/myDockermyVariable=3 . ./myEntrypoint.sh salut +    * Présentation de la Virtualisation par Isolation 
-salut (20:04:39) +      * Historique 
-salut (20:04:42) +    * Présentation des Namespaces 
-salut (20:04:45) +    * Présentation des CGroups 
-salut (20:04:48) +      * LAB #1 - Travailler avec les CGroups 
-salut (20:04:51) +        * 1.1 - Limitation de la Mémoire 
-^C +        * 1.2 - Le Paquet cgroup-tools 
-root@debian9:~/myDocker#  +          * La commande cgcreate 
-</code>+          * La Commande cgexec 
 +          * La Commande cgdelete 
 +          * Le Fichier /etc/cgconfig.conf 
 +    * Présentation de Linux Containers 
 +      * LAB #2 - Travailler avec LXC 
 +        * 2.1 - Installation 
 +        * 2.2 - Création d'un Conteneur Simple 
 +        * 2.- Démarrage d'un Conteneur Simple 
 +        * 2.4 - S'attacher à un Conteneur Simple 
 +        * 2.5 - Commandes LXC de Base 
 +          * La Commande lxc-console 
 +          * La Commande lxc-stop 
 +          * La Commande lxc-execute 
 +          * La Commande lxc-info 
 +          * La Commande lxc-freeze 
 +          * La Commande lxc-unfreeze 
 +          * Autres commandes 
 +        * 2.6 - Création d'un Conteneur Non-Privilégié 
 +          * User Namespaces 
 +          * Création d'un Utilisateur Dédié 
 +          * Création du Mappage 
 +          * Création du Conteneur 
 +          * Contrôle du Mappage 
 +        * 2.7 - Création d'un Conteneur Éphémère 
 +          * La Commande lxc-copy 
 +        * 2.8 - Sauvegarde des Conteneurs 
 +          * La Commande lxc-snapshot
  
-Rendez ce script exécutable :+  * **DOF102 - Démarrer avec Docker**. 
 +    * Présentation de Docker 
 +    * LAB #1 - Travailler avec Docker 
 +      * 1.1 - Installer docker 
 +      * 1.2 - Démarrer un Conteneur 
 +      * 1.3 - Consulter la Liste des Conteneurs et Images 
 +      * 1.4 - Rechercher une Image dans un Dépôt 
 +      * 1.5 - Supprimer un Conteneur d'une Image 
 +      * 1.6 - Créer une Image à partir d'un Conteneur Modifié 
 +      * 1.7 - Supprimer une Image 
 +      * 1.8 - Créer un Conteneur avec un Nom Spécifique 
 +      * 1.9 - Exécuter une Commande dans un Conteneur 
 +      * 1.10 - Injecter des Variables d'Environnement dans un Conteneur 
 +      * 1.11 - Modifier le Nom d'Hôte d'un Conteneur 
 +      * 1.12 - Mapper des Ports d'un Conteneur 
 +      * 1.13 - Démarrer un Conteneur en mode Détaché 
 +      * 1.14 - Accéder aux Services d'un Conteneur de l'Extérieur 
 +      * 1.15 - Arrêter et Démarrer un Conteneur 
 +      * 1.16 - Utiliser des Signaux avec un Conteneur 
 +      * 1.17 - Forcer la Suppression d'un Conteneur en cours d'Exécution 
 +      * 1.18 - Utilisation Simple d'un Volume 
 +      * 1.19 - Télécharger une image sans créer un conteneur 
 +      * 1.20 - S'attacher à un conteneur en cours d'exécution 
 +      * 1.21 - Installer un logiciel dans le conteneur 
 +      * 1.22 - Utilisation de la commande docker commit 
 +      * 1.23 - Se connecter au serveur du conteneur de l'extérieur
  
-<code> +  * **DOF103 - Gérer les Images Docker**. 
-root@debian9:~/myDockerchmod u+x myEntrypoint.sh  +    * Contenu du Module 
-</code>+    * LAB #1 - Re-créer une image officielle docker 
 +      * 1.1 - Utilisation d'un Dockerfile 
 +      * 1.2 - FROM 
 +      * 1.3 - RUN 
 +      * 1.4 - ENV 
 +      * 1.5 - VOLUME 
 +      * 1.6 - COPY 
 +      * 1.7 - ENTRYPOINT 
 +      * 1.8 - EXPOSE 
 +      * 1.9 - CMD 
 +      * 1.10 - Autres Commandes 
 +    * LAB #2 - Créer un Dockerfile 
 +      * 2.1 - Création et test du script 
 +      * 2.2 - Bonnes Pratiques liées au Cache
  
-Créez maintenant le fichier **Dockerfile** dans le répertoire **~/myDocker** :+  * **DOF104 - Gestion des Volumes, du Réseau et des Ressources**. 
 +    * LAB #1 - Gestion des Volumes 
 +      * 1.1 - Gestion Automatique par Docker 
 +      * 1.2 - Gestion Manuelle d'un Volume 
 +    * LAB #2 - Gestion du Réseau 
 +      * 2.1 - L'Approche Réseau Docker 
 +        * Bridge 
 +        * Host 
 +        * None 
 +        * Liens 
 +      * 2.2 - Lancer Wordpress dans un container 
 +      * 2.3 - Gestion d'une Architecture de Microservices 
 +    * LAB #3 - Superviser les Conteneurs 
 +      * 3.1 - Les Journaux 
 +      3.2 - Les Processus 
 +      3.3 - L'Activité en Continu 
 +    LAB #4 - Gestion des Ressources 
 +      4.1 - Limiter la Mémoire
  
-<code> +  * **DOF105 - Validation de la Formation**
-root@debian9:~/myDocker# vi Dockerfile +    * Support de Cours 
-root@debian9:~/myDocker# cat Dockerfile +    * Rappel du Programme de la Formation 
-FROM centos:latest +    * Validation des acquis globale 
-MAINTAINER i2tch "infos@i2tch.eu" +    * Évaluation de la Formation
-COPY myEntrypoint.sh /entrypoint.sh +
-ENV myVariable 3 +
-ENTRYPOINT ["/entrypoint.sh"] +
-CMD ["mycommand"] +
-</code>+
  
-Générez maintenant l'image :+=====Évaluation de la Formation=====
  
-<code> +Afin de valider votre formation, veuillez compléter l’Évaluation de la Formation ainsi que la Validation des Acquis.
-root@debian9:~/myDocker# docker build -t i2tch/mydocker . +
-Sending build context to Docker daemon  3.072kB +
-Step 1/6 : FROM centos:latest +
- ---> 9f38484d220f +
-Step 2/6 : MAINTAINER i2tch "infos@i2tch.eu" +
- ---> Running in 02c700ed04da +
-Removing intermediate container 02c700ed04da +
- ---> 4274107d52e2 +
-Step 3/6 : COPY myEntrypoint.sh /entrypoint.sh +
- ---> 7a3923372768 +
-Step 4/6 : ENV myVariable 3 +
- ---> Running in 3288bf6291ad +
-Removing intermediate container 3288bf6291ad +
- ---> 3edb630c1511 +
-Step 5/6 : ENTRYPOINT ["/entrypoint.sh"+
- ---> Running in 8dcba2c41520 +
-Removing intermediate container 8dcba2c41520 +
- ---> 11962052539c +
-Step 6/6 : CMD ["mycommand"+
- ---> Running in f891fbcfaad0 +
-Removing intermediate container f891fbcfaad0 +
- ---> 7925ba23abb2 +
-Successfully built 7925ba23abb2 +
-Successfully tagged i2tch/mydocker:latest +
-</code>+
  
-====Installer un Registre Local==== 
- 
-Pour installer un registre privé, il convient d'utiliser une image publique de docker : 
- 
-<code> 
-root@debian9:~/bestp# cd .. 
-root@debian9:~# docker run -d --name registry -p 88:5000 registry:2.0 
-Unable to find image 'registry:2.0' locally 
-2.0: Pulling from library/registry 
-4d2e9ae40c41: Pull complete  
-a3ed95caeb02: Pull complete  
-7c8152785df5: Pull complete  
-8b04aafd7cd8: Pull complete  
-c97c75d2d42e: Pull complete  
-4b3ef98bba76: Pull complete  
-edee0288d356: Pull complete  
-ea2a9399d365: Pull complete  
-ddf532273b60: Pull complete  
-e9e91aa1843e: Pull complete  
-6144b0ffbb4c: Pull complete  
-Digest: sha256:3cac1869696e4ff3435bbc30391749ac373f7471736dbb48dfa9bfde08c4efd2 
-Status: Downloaded newer image for registry:2.0 
-c4c7cad999cdd77df78a21897bd11c4742a094c1c76a2134fbe4a4d2d92bff0e 
-</code> 
- 
-Utilisez maintenant **lynx** à partir d'un terminal de votre machine **hôte** pour vérifier que le régistre est actif : 
- 
-<code> 
-root@debian9:~# lynx --dump http://localhost:88/v2 
-{}root@debian9:~#  
-</code> 
- 
-<WRAP center round important> 
-**Important** - Notez la réponse du serveur est **{}** soit une liste JSON vide. 
-</WRAP> 
- 
-Renommez l'image **i2tch/mydocker** afin de pointer vers le nouveau registre : 
- 
-<code> 
-root@debian9:~# docker tag i2tch/mydocker localhost:88/mydocker 
-</code> 
- 
-<WRAP center round important> 
-**Important** - Notez que le tag **i2tch/mydocker** cache le nom du registre par défaut qui est le registre public de Docker Hub. 
-</WRAP> 
- 
-Envoyez votre image **localhost:88/mydocker** sur ce nouveau registre : 
- 
-<code> 
-root@debian9:~# docker push localhost:88/mydocker 
-The push refers to a repository [localhost:88/mydocker] 
-873a8ac77d4d: Pushed  
-b362758f4793: Pushed  
-latest: digest: sha256:30866da81d92d2a1015b869c596ddd6e188f33894c41d8effa2161e5c2862b1f size: 5531 
-</code> 
- 
-Constatez maintenant la présence de l'image dans le registre : 
- 
-<code> 
-root@debian9:~# lynx --dump http://localhost:88/v2/mydocker/tags/list 
-{"name":"mydocker","tags":["latest"]} 
-</code> 
- 
-<code> 
-root@debian9:~# docker images 
-REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE 
-testcache               latest              c3b03bddaaad        18 minutes ago      120MB 
-<none>                  <none>              1df8c3603628        23 minutes ago      120MB 
-i2tch/mydocker          latest              c37edbd43993        45 minutes ago      193MB 
-localhost:88/mydocker   latest              c37edbd43993        45 minutes ago      193MB 
-i2tch/mongodb2          latest              65e81f78c0f5        12 hours ago        240MB 
-i2tch/mongodb1          latest              2de862819e94        12 hours ago        240MB 
-i2tch/mongodb           latest              01c4aa152be2        12 hours ago        1.04GB 
-ubuntu                  latest              ccc7a11d65b1        3 weeks ago         120MB 
-centos                  latest              328edcd84f1b        4 weeks ago         193MB 
-nginx                   latest              b8efb18f159b        6 weeks ago         107MB 
-debian                  wheezy-slim         884ca0b949e5        6 weeks ago         46.9MB 
-hello-world             latest              1815c82652c0        2 months ago        1.84kB 
-registry                2.0                 3bccd459597f        2 years ago         549MB 
-</code> 
- 
-====Créer un Serveur de Registre Dédié==== 
- 
-Actuellement, le registre privé créé ci-dessus n'est pas accessible à partir du réseau local car il est référencé par localhost. Il convient donc maintenant de mettre en place un serveur dédié. 
- 
-Arrêtez votre machine virtuelle Debian_9. Créez le réseau NAT **NatNetwork** : 
- 
-  Fichier > Paramètres > Réseau > bouton + > OK 
- 
-Configurez la carte réseau pour la machine virtuelle Debian_9 en "NatNetwork". 
- 
-Créez un clone de la machine virtuelle appelé **Registry** en **réinitialisant** l'adresse MAC du clone. 
- 
-Créez les redirections de ports dans le réseau NAT **NatNetwork** de VirtualBox : 
- 
-  Fichier > Paramètres > Réseau > NatNetwork > Redirection de ports 
- 
-^ Nom ^ Protocole ^ IP hôte ^ Port hôte ^ IP invité ^ Port invité ^ 
-| Debian_9 | TCP | 127.0.0.1 | 2022 | 10.0.2.15 | 22 | 
-| Registry | TCP | 127.0.0.1 | 4022 | 10.0.2.4 | 22 | 
- 
-Démarrez les deux machines virtuelles. 
- 
-Modifiez le nom d'hôte du clone, puis déconnectez-vous et reconnectez-vous via ssh : 
- 
-<code> 
-root@debian9:~# nmcli general hostname registry 
-root@debian9:~# hostname 
-registry 
-</code> 
- 
-Editez le fichier **/etc/hosts** : 
- 
-<code> 
-root@registry:~# vi /etc/hosts 
-root@registry:~# cat /etc/hosts 
-127.0.0.1 localhost 
-127.0.1.1 debian9.i2tch.loc    debian9 
-10.0.2.4 myregistry.i2tch.loc    myregistry 
-10.0.2.15   debian9.i2tch.loc       debian9 
- 
-# The following lines are desirable for IPv6 capable hosts 
-::1     localhost ip6-localhost ip6-loopback 
-ff02::1 ip6-allnodes 
-ff02::2 ip6-allrouters 
-</code> 
- 
-Créez maintenant un certificat auto-signé avec openssl : 
- 
-<code> 
-root@registry:~# cd / && mkdir certs && openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt 
-Generating a 4096 bit RSA private key 
-............................................................++ 
-.......................................................................................................................................++ 
-writing new private key to 'certs/domain.key' 
 ----- -----
-You are about to be asked to enter information that will be incorporated 
-into your certificate request. 
-What you are about to enter is what is called a Distinguished Name or a DN. 
-There are quite a few fields but you can leave some blank 
-For some fields there will be a default value, 
-If you enter '.', the field will be left blank. 
------ 
-Country Name (2 letter code) [AU]:FR 
-State or Province Name (full name) [Some-State]:VAR 
-Locality Name (eg, city) []:Toulon 
-Organization Name (eg, company) [Internet Widgits Pty Ltd]:I2TCH LTD 
-Organizational Unit Name (eg, section) []:TRAINING 
-Common Name (e.g. server FQDN or YOUR name) []:myregistry 
-Email Address []: 
-root@debian9:/# ls certs/ 
-domain.crt  domain.key 
-</code> 
  
-Supprimez le conteneur **registry** :+Copyright © 2022 Hugh Norris - Document non-contractuel. Le programme peut être modifié sans préavis. 
  
-<code> 
-root@registry:/# docker rm registry 
-registry 
-</code> 
- 
-Créez un conteneur en mode sécurisé avec TLS à partir de l'image registry : 
- 
-<code> 
-root@registry:/# docker run -d -p 5000:5000 --name registry -v `pwd`/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry:2.0 
-943c01b67cf3f461270a55ac3d9df6622cc9d74e5f272e17153183ff29ee5932 
-root@debian9:/#  
- 
-root@registry:/# docker ps -a 
-CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                    NAMES 
-943c01b67cf3        registry:2.0        "registry cmd/regi..."   31 seconds ago      Up 24 seconds                 0.0.0.0:5000->5000/tcp   registry 
-ea239635e141        testcache           "more /tmp/moment"       40 minutes ago      Exited (0) 40 minutes ago                              test1 
-21b0490a93dd        i2tch/mydocker      "/entrypoint.sh my..."   About an hour ago   Exited (137) 18 minutes ago                            myDocker 
-b9773e4aa06d        i2tch/mongodb2      "docker-entrypoint..."   2 hours ago         Exited (0) 18 minutes ago                              mongo2 
-bdb4bc0f81de        i2tch/mongodb1      "docker-entrypoint..."   12 hours ago        Created                       27017/tcp                mongo1 
-f5b45072b831        i2tch/mongodb       "bash"                   13 hours ago        Exited (137) 18 minutes ago                            mongo 
-9731a48f126a        nginx               "nginx -g 'daemon ..."   13 hours ago        Exited (0) 18 minutes ago                              cocky_gates 
-eacd70596e23        nginx               "nginx -g 'daemon ..."   13 hours ago        Exited (0) 13 hours ago                                adoring_yonath 
-cffb4456e9c4        ubuntu              "/bin/bash"              14 hours ago        Exited (0) 14 hours ago                                i2tch 
-</code> 
- 
-===Configurer le Client=== 
- 
-Supprimez le conteneur **registry** : 
- 
-<code> 
-root@debian9:~# docker ps -a 
-CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES 
-c4c7cad999cd        registry:2.0        "registry cmd/regi..."   4 hours ago         Exited (2) 4 hours ago                         registry 
-ea239635e141        testcache           "more /tmp/moment"       4 hours ago         Exited (0) 4 hours ago                         test1 
-21b0490a93dd        i2tch/mydocker      "/entrypoint.sh my..."   4 hours ago         Exited (137) 4 hours ago                       myDocker 
-b9773e4aa06d        i2tch/mongodb2      "docker-entrypoint..."   5 hours ago         Exited (0) 4 hours ago                         mongo2 
-bdb4bc0f81de        i2tch/mongodb1      "docker-entrypoint..."   16 hours ago        Created                    27017/tcp           mongo1 
-f5b45072b831        i2tch/mongodb       "bash"                   16 hours ago        Exited (137) 4 hours ago                       mongo 
-9731a48f126a        nginx               "nginx -g 'daemon ..."   16 hours ago        Exited (0) 4 hours ago                         cocky_gates 
-eacd70596e23        nginx               "nginx -g 'daemon ..."   17 hours ago        Exited (0) 17 hours ago                        adoring_yonath 
-cffb4456e9c4        ubuntu              "/bin/bash"              17 hours ago        Exited (0) 17 hours ago                        i2tch 
-root@debian9:~# docker rm registry 
-registry 
-root@debian9:~# docker ps -a 
-CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES 
-ea239635e141        testcache           "more /tmp/moment"       4 hours ago         Exited (0) 4 hours ago                         test1 
-21b0490a93dd        i2tch/mydocker      "/entrypoint.sh my..."   4 hours ago         Exited (137) 4 hours ago                       myDocker 
-b9773e4aa06d        i2tch/mongodb2      "docker-entrypoint..."   5 hours ago         Exited (0) 4 hours ago                         mongo2 
-bdb4bc0f81de        i2tch/mongodb1      "docker-entrypoint..."   16 hours ago        Created                    27017/tcp           mongo1 
-f5b45072b831        i2tch/mongodb       "bash"                   16 hours ago        Exited (137) 4 hours ago                       mongo 
-9731a48f126a        nginx               "nginx -g 'daemon ..."   16 hours ago        Exited (0) 4 hours ago                         cocky_gates 
-eacd70596e23        nginx               "nginx -g 'daemon ..."   17 hours ago        Exited (0) 17 hours ago                        adoring_yonath 
-cffb4456e9c4        ubuntu              "/bin/bash"              17 hours ago        Exited (0) 17 hours ago                        i2tch 
-</code> 
- 
-ainsi que l'image du registry : 
- 
-<code> 
-root@debian9:~# docker images 
-REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE 
-testcache               latest              c3b03bddaaad        4 hours ago         120MB 
-<none>                  <none>              1df8c3603628        4 hours ago         120MB 
-i2tch/mydocker          latest              c37edbd43993        5 hours ago         193MB 
-localhost:88/mydocker   latest              c37edbd43993        5 hours ago         193MB 
-<none>                  <none>              d6b51963df8d        5 hours ago         193MB 
-i2tch/mongodb2          latest              65e81f78c0f5        16 hours ago        240MB 
-i2tch/mongodb1          latest              2de862819e94        16 hours ago        240MB 
-i2tch/mongodb           latest              01c4aa152be2        16 hours ago        1.04GB 
-ubuntu                  latest              ccc7a11d65b1        3 weeks ago         120MB 
-centos                  latest              328edcd84f1b        4 weeks ago         193MB 
-nginx                   latest              b8efb18f159b        6 weeks ago         107MB 
-debian                  wheezy-slim         884ca0b949e5        6 weeks ago         46.9MB 
-hello-world             latest              1815c82652c0        2 months ago        1.84kB 
-registry                2.0                 3bccd459597f        2 years ago         549MB 
- 
-root@debian9:~# docker rmi registry:2.0 
-Untagged: registry:2.0 
-Untagged: registry@sha256:3cac1869696e4ff3435bbc30391749ac373f7471736dbb48dfa9bfde08c4efd2 
-Deleted: sha256:3bccd459597f38e78ce95a408e506099644ca713d79157d2f3e3a7975f1c9146 
-Deleted: sha256:e486d081a2821af119adbc458214cacf510ebb519cdf31e04ac3d4c6ac521c31 
-Deleted: sha256:d206757aba612d90965729f186dfb70aa5e63b53dafd7e7b20a76005acddfe24 
-Deleted: sha256:1b953394add763fbaa50446b03d636f453fa75b2d12676ceb4b71681b4da6e7d 
-Deleted: sha256:e8a2cacb793cb843e35bbf64e9c73d685d83ecc8192fbdbc098b0e5fbcced848 
-Deleted: sha256:19eec9bf8dcc3cb15b93cdcff717057444c540ee641cf20b7ef647d19b9d1df4 
-Deleted: sha256:2fb6f2d834e4dd55a7a6bb1472f5c293242e6439982332143d7332642a238d40 
-Deleted: sha256:e08b039d73e73f17b3fa02ebf9a28ef156a7b43b828cd67ed422b9d7a01e5482 
-Deleted: sha256:bd85e070a996530cc5f576bc5f56a0e3a159e00091410987416844de6e018415 
-Deleted: sha256:6269effe5aa88dfc0071a2841605d95c0d809111333b5044b2459b43e5879f44 
-Deleted: sha256:784ff50f126370cb3be928cd14a078605990efda458e73ad43f2a2e40e1efda2 
-Deleted: sha256:29efd197b6056e252ebb46fe1b315489c2f8e032eb32d1f6fcd0119ee9536df7 
-Deleted: sha256:3d42e373d713bfab9403159f282ba4cfaa7b4f33e57d5e36d4d2ca0ca1a2f4e7 
-Deleted: sha256:518c6772b2fc316c63e9f4f9745e3587f169ec916fd26749b0ce7bf1f36bb93b 
-Deleted: sha256:e74bff63859c2597691fffd6fe95b35b0803f6791bc6565072bf07067574dba3 
-Deleted: sha256:f76baad394e6d835fa0e166254e9f70af873fe43232c67ac198a67865084ccee 
-Deleted: sha256:b0eba742532f664bab6fc6d5bd00c60141397ba299f6743457f7ead64d7c714d 
-Deleted: sha256:c10c49233bc62ce69aafa1a44a62d8639a7be08d68b1c23d6b25ebb13e5324b0 
-Deleted: sha256:1c8e9ba14469736fa03ede127e47f5821ca97b3029385ec1348e87932c875ff8 
-Deleted: sha256:611f5c9e21fce8d870f9ba82248980ca3baaaf95afef2b17504372d1ca03cb5a 
-Deleted: sha256:4cb1abe123254326dba72305ef897fdf5364ebb1823413e13dbced41990f951e 
-Deleted: sha256:e10e5ea91f007db418b284f4adc5f0b98f374d79ae52b9687b0d6d33865ffbcf 
-Deleted: sha256:c69ae1aa46985cbaf186b6354c61a1d2e0d6af47133db47bf04f0c6eb9c858e9 
- 
-root@debian9:~# docker images 
-REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE 
-testcache               latest              c3b03bddaaad        4 hours ago         120MB 
-<none>                  <none>              1df8c3603628        4 hours ago         120MB 
-i2tch/mydocker          latest              c37edbd43993        5 hours ago         193MB 
-localhost:88/mydocker   latest              c37edbd43993        5 hours ago         193MB 
-<none>                  <none>              d6b51963df8d        5 hours ago         193MB 
-i2tch/mongodb2          latest              65e81f78c0f5        16 hours ago        240MB 
-i2tch/mongodb1          latest              2de862819e94        16 hours ago        240MB 
-i2tch/mongodb           latest              01c4aa152be2        16 hours ago        1.04GB 
-ubuntu                  latest              ccc7a11d65b1        3 weeks ago         120MB 
-centos                  latest              328edcd84f1b        4 weeks ago         193MB 
-nginx                   latest              b8efb18f159b        6 weeks ago         107MB 
-debian                  wheezy-slim         884ca0b949e5        6 weeks ago         46.9MB 
-hello-world             latest              1815c82652c0        2 months ago        1.84kB 
-</code> 
- 
-Renommez l'image **i2tch/mydocker** afin de pointer vers le serveur de registre : 
- 
-<code> 
-root@debian9:~# docker tag i2tch/mydocker myregistry:5000/mydocker 
-root@debian9:~# docker images 
-REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE 
-testcache                  latest              c3b03bddaaad        4 hours ago         120MB 
-<none>                     <none>              1df8c3603628        4 hours ago         120MB 
-i2tch/mydocker             latest              c37edbd43993        5 hours ago         193MB 
-localhost:88/mydocker      latest              c37edbd43993        5 hours ago         193MB 
-myregistry:5000/mydocker   latest              c37edbd43993        5 hours ago         193MB 
-<none>                     <none>              d6b51963df8d        5 hours ago         193MB 
-i2tch/mongodb2             latest              65e81f78c0f5        16 hours ago        240MB 
-i2tch/mongodb1             latest              2de862819e94        16 hours ago        240MB 
-i2tch/mongodb              latest              01c4aa152be2        16 hours ago        1.04GB 
-ubuntu                     latest              ccc7a11d65b1        3 weeks ago         120MB 
-centos                     latest              328edcd84f1b        4 weeks ago         193MB 
-nginx                      latest              b8efb18f159b        6 weeks ago         107MB 
-debian                     wheezy-slim         884ca0b949e5        6 weeks ago         46.9MB 
-hello-world                latest              1815c82652c0        2 months ago        1.84kB 
-</code> 
- 
-Editez le fichier **/etc/hosts** afin de pointer le 10.0.2.4 vers le nom **myregistry** : 
- 
-<code> 
-root@debian9:~# vi /etc/hosts 
-root@debian9:~# cat /etc/hosts 
-127.0.0.1 localhost 
-127.0.1.1 debian9.i2tch.loc    debian9 
-10.0.2.4 myregistry.i2tch.loc    myregistry 
-10.0.2.15   debian9.i2tch.loc       debian9 
- 
-# The following lines are desirable for IPv6 capable hosts 
-::1     localhost ip6-localhost ip6-loopback 
-ff02::1 ip6-allnodes 
-ff02::2 ip6-allrouters 
-</code> 
- 
-De la machine virtuelle **registry** envoyez une copie du fichier **/certs/domain.crt** vers le répertoire /tmp de la machine virtuelle **Debian_9** en le renommant **ca.crt** : 
- 
-<code> 
-root@registry:~# scp /certs/domain.crt trainee@10.0.2.15:/tmp/ca.crt 
-The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established. 
-ECDSA key fingerprint is 79:00:60:0e:2b:71:5e:cb:1a:08:45:e8:ab:45:b8:dd. 
-Are you sure you want to continue connecting (yes/no)? yes 
-Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts. 
-trainee@10.0.2.15's password:  
-domain.crt                                                                                                                            100% 2017     2.0KB/  00:00   
-</code> 
- 
-Dans la machine virtuelle **Debian_9**, déplacez le fichier **/tmp/ca.crt** vers le répertoire **/etc/docker/certs.d/myregistry:5000/** : 
- 
-<code> 
-root@debian9:~# mkdir -p /etc/docker/certs.d/myregistry:5000 
-root@debian9:~# mv /tmp/ca.crt /etc/docker/certs.d/myregistry:5000/ 
-</code> 
- 
-Testez la réponse du registre : 
- 
-<code> 
-root@debian9:~# curl http://myregistry:5000/v2/ 
- 
-</code> 
- 
-Finalement, envoyez l'image au registre : 
- 
-<code> 
-root@debian9:~# docker push myregistry:5000/mydocker 
-The push refers to a repository [myregistry:5000/mydocker] 
-873a8ac77d4d: Pushed  
-b362758f4793: Pushed  
-latest: digest: sha256:30866da81d92d2a1015b869c596ddd6e188f33894c41d8effa2161e5c2862b1f size: 5531 
-</code> 
- 
------ 
-<html> 
-<div align="center"> 
-Copyright © 2020 Hugh NORRIS 
-</div> 
-</html> 
Menu