Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:docker2:drf01 [2021/04/08 13:02] adminelearning:workbooks:docker2:drf01 [2021/12/29 10:32] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2021.01**+Version : **2022.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 31: Ligne 31:
       * 3.9 - Haute Disponibilité       * 3.9 - Haute Disponibilité
       * 3.10 - Supprimer un Service       * 3.10 - Supprimer un Service
 +      * 3.11 - Sauvegarder Docker Swarm
 +      * 3.12 - Restaurer Docker Swarm
  
 =====LAB #1 - Docker Compose===== =====LAB #1 - Docker Compose=====
Ligne 380: Ligne 382:
 root@debian9:~/wordpress1# vi docker-compose.yaml root@debian9:~/wordpress1# vi docker-compose.yaml
 root@debian9:~/wordpress1# cat docker-compose.yaml root@debian9:~/wordpress1# cat docker-compose.yaml
-version: '3.3' +version: "3.3" 
- +    
 services: services:
-db: +  db: 
-image: mysql:5.7 +    image: mysql:5.7 
-volumes: +    volumes: 
-- db_data:/var/lib/mysql +      - db_data:/var/lib/mysql 
-restart: always +    restart: always 
-environment: +    environment: 
-MYSQL_ROOT_PASSWORD: fenestros +      MYSQL_ROOT_PASSWORD: fenestros 
-MYSQL_DATABASE: wordpress +      MYSQL_DATABASE: wordpress 
-MYSQL_USER: wordpress +      MYSQL_USER: wordpress 
-MYSQL_PASSWORD: wordpress +      MYSQL_PASSWORD: wordpress 
-  +     
-wordpress: +  wordpress: 
-depends_on: +    depends_on: 
-- db +      - db 
-image: wordpress:latest +    image: wordpress:latest 
-ports: +    ports: 
-- "8000:80" +      - "8000:80" 
-restart: always +    restart: always 
-environment: +    environment: 
-WORDPRESS_DB_HOST: db:3306 +      WORDPRESS_DB_HOST: db:3306 
-WORDPRESS_DB_USER: wordpress +      WORDPRESS_DB_USER: wordpress 
-WORDPRESS_DB_PASSWORD: wordpress +      WORDPRESS_DB_PASSWORD: wordpress 
-WORDPRESS_DB_NAME: wordpress +      WORDPRESS_DB_NAME: wordpress
- +
 volumes: volumes:
-db_data: {}+  db_data: {}
 </code> </code>
  
Ligne 420: Ligne 421:
  
 <code> <code>
-root@debian9:~/wordpress# lynx --dump http://10.0.2.60:8000 +root@debian9:~/wordpress1# lynx --dump http://10.0.2.60:8000 
-   [1]WordPress+   WordPress
    Select a default language [English (United States)________]    Select a default language [English (United States)________]
  
    Continue    Continue
 +   
 +root@debian9:~# docker ps -a
 +CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                      PORTS                  NAMES
 +29afa2a7fdb5        wordpress:latest      "docker-entrypoint.s…"   21 minutes ago      Up 20 minutes               0.0.0.0:8000->80/tcp   wordpress1_wordpress_1
 +...
  
-References +root@debian9:~/wordpress1# docker inspect wordpress1_wordpress_1 | grep IPAddress
- +
-   1. https://wordpress.org/ +
- +
-root@debian9:~/wordpress# docker inspect wordpress | grep IPAddress+
             "SecondaryIPAddresses": null,             "SecondaryIPAddresses": null,
-            "IPAddress": "172.17.0.3", +            "IPAddress": "172.17.0.7", 
-                    "IPAddress": "172.17.0.3",+                    "IPAddress": "172.17.0.7",
                                          
-root@debian9:~/wordpress# lynx --dump http://172.17.0.3 +root@debian9:~/wordpress1# lynx --dump http://172.17.0.7 
-   [1]WordPress+   WordPress
    Select a default language [English (United States)________]    Select a default language [English (United States)________]
  
    Continue    Continue
- 
-References 
- 
-   1. https://wordpress.org/ 
 </code> </code>
  
Ligne 479: Ligne 477:
 | [[https://www.vmware.com/fr/products/vsphere.html|VMware vSphere]] | [[https://docs.docker.com/machine/drivers/vsphere/|vmwarevsphere]] | | [[https://www.vmware.com/fr/products/vsphere.html|VMware vSphere]] | [[https://docs.docker.com/machine/drivers/vsphere/|vmwarevsphere]] |
  
-Créez donc la machine virtuelle **manager1** :+Commencez par installer Oracle VirtualBox: 
 + 
 +<code> 
 +root@debian9:~/wordpress# cd ~ 
 +root@debian9:~# apt install virtualbox-6.0 
 +</code> 
 + 
 +Créez maintenant la machine virtuelle **manager1** :
  
 <code> <code>
Ligne 705: Ligne 710:
 Boot2Docker version 17.06.2-ce, build HEAD : ff16afa - Wed Sep  6 00:17:25 UTC 2017 Boot2Docker version 17.06.2-ce, build HEAD : ff16afa - Wed Sep  6 00:17:25 UTC 2017
 Docker version 17.06.2-ce, build cec0b72 Docker version 17.06.2-ce, build cec0b72
-docker@manager1:~$ +docker@manager1:~$ exit
 </code> </code>
  
Ligne 711: Ligne 716:
 **Important** - Notez que la distribution de la VM est **[[http://boot2docker.io/|Boot2Docker]]**. Cette distribution est basée sur **[[http://tinycorelinux.net/|Tiny Core Linux]]**, s'exécute entièrement dans la mémoire vive, pèse 27 Mo et démarre en approximativement 5 secondes. **Important** - Notez que la distribution de la VM est **[[http://boot2docker.io/|Boot2Docker]]**. Cette distribution est basée sur **[[http://tinycorelinux.net/|Tiny Core Linux]]**, s'exécute entièrement dans la mémoire vive, pèse 27 Mo et démarre en approximativement 5 secondes.
 </WRAP> </WRAP>
 +
 +Installez maintenant le paquet **mlocate** :
 +
 +<code>
 +root@debian9:~# apt install mlocate
 +...
 +</code>
  
 Ayant été créées par root, les VM Docker ainsi que leurs fichiers associés sont stockés dans le répertoire **/root/.docker/machine/machines/** : Ayant été créées par root, les VM Docker ainsi que leurs fichiers associés sont stockés dans le répertoire **/root/.docker/machine/machines/** :
  
 <code> <code>
 +root@debian9:~# updatedb
 root@debian9:~# locate manager1 root@debian9:~# locate manager1
 /root/.docker/machine/machines/manager1 /root/.docker/machine/machines/manager1
Ligne 745: Ligne 758:
  
 <code> <code>
 +root@debian9:~# docker-machine ssh manager1
 docker@manager1:~$ docker swarm init --advertise-addr 192.168.99.100 docker@manager1:~$ docker swarm init --advertise-addr 192.168.99.100
 Swarm initialized: current node (yuwpmvtfmdxn8i7nllkyzkxkp) is now a manager. Swarm initialized: current node (yuwpmvtfmdxn8i7nllkyzkxkp) is now a manager.
Ligne 1466: Ligne 1480:
 </code> </code>
  
------ +Sortez de manager1 et démarrez le serveur VNC dans la machine virtuelle **debian9** en tant que **trainee** :
-<html> +
-<div align="center"> +
-Copyright © 2021 Hugh NORRIS +
-</div> +
-</html>+
  
 +<code>
 +docker@manager1:/$ exit
 +root@debian9:~# exit
 +trainee@debian9:~$ vncserver
  
 +New 'X' desktop is debian9.i2tch.loc:1
 +
 +Starting applications specified in /home/trainee/.vnc/xstartup
 +Log file is /home/trainee/.vnc/debian9.i2tch.loc:1.log
 +</code>
 +
 +====3.11 - Sauvegarder Docker Swarm====
 +
 +La configuration de Docker Swarm est contenue dans le répertoire **/var/lib/docker/swarm** de chaque Manager dans le Swarm. Ce processus necéssite qu'il y ait au moins **deux** Managers dans le Swarm. Le procédure de sauvegarde est :
 +
 +  * arrêt du service Docker sur le Manager à sauvegarder,
 +  * sauvegarde du répertoire **/var/lib/docker/swarm**,
 +  * redémarrage du service Docker sur le Manager concerné.
 +
 +====3.12 - Restaurer Docker Swarm====
 +
 +Le procédure de resturation est :
 +
 +  * arrêt du service Docker sur un nouveau Manager,
 +  * suppression du contenu du répertoire **/var/lib/docker/swarm** dans le nouveau Manager,
 +  * restauration du répertoire **/var/lib/docker/swarm** dans le nouveau Manager à partir de la sauvegarde,
 +  * exécution de la commande **docker swarm init --force-new-cluster** sur le nouveau Manager,
 +  * ajout des Managers et Workers à Swarm.
 +
 +-----
  
 +Copyright © 2022 Hugh Norris.
Menu