Outils pour utilisateurs

Outils du site


reseau:docker:lampdockercompose

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édentes Révision précédente
Prochaine révision
Révision précédente
reseau:docker:lampdockercompose [2023/03/19 16:54]
techer.charles_educ-valadon-limoges.fr [Lancement de tous les conteneurs avec Docker-compose]
reseau:docker:lampdockercompose [2023/04/17 17:56] (Version actuelle)
techer.charles_educ-valadon-limoges.fr [Le fichier docker-compose.yml complet de l'architecture LAMP]
Ligne 1: Ligne 1:
 ====== Activité : créer un environnement LAMP avec Docker-Compose ====== ====== Activité : créer un environnement LAMP avec Docker-Compose ======
 +
 +
 ===== Présentation ===== ===== Présentation =====
 +
 Docker permet la création de conteneurs en proposant les fonctionnalités suivantes : Docker permet la création de conteneurs en proposant les fonctionnalités suivantes :
   * création de **conteneur personnalisé** en utilisant un fichier **Dockerfile** ;   * création de **conteneur personnalisé** en utilisant un fichier **Dockerfile** ;
Ligne 25: Ligne 28:
 Les fichiers du site Web et de la base de données sont enregistrés en local en utilisant le principe des volumes de Docker.  Les fichiers du site Web et de la base de données sont enregistrés en local en utilisant le principe des volumes de Docker. 
  
-{{ :reseau:docker:docker_07.png |}} 
  
 ===== Syntaxe du fichier docker-compose.yml ===== ===== Syntaxe du fichier docker-compose.yml =====
Ligne 42: Ligne 44:
   * nom du conteneur : **servbdd**   * nom du conteneur : **servbdd**
   * base de données en écoute sur le port par défaut : **3306** ;   * base de données en écoute sur le port par défaut : **3306** ;
-  * mot de passe du compte root de MariaDB précisé dans une variable d’environnement : **MARIADB_ROOT_PASSWORD=passwordmariadb** ;+  * mot de passe du compte root de MariaDB précisé dans une variable d’environnement MARIADB_ROOT_PASSWORD : **MARIADB_ROOT_PASSWORDpasswordmariadb** ;
   * dossier local pour la persistance des bases de données du conteneur : **c:\www\html\siteweb-bdd**   * dossier local pour la persistance des bases de données du conteneur : **c:\www\html\siteweb-bdd**
  
Ligne 60: Ligne 62:
      - c:\www\html\siteweb-bdd:/var/lib/mysql       - c:\www\html\siteweb-bdd:/var/lib/mysql 
    environment:    environment:
-     MARIADB_ROOT_PASSWORD=passwordmariadb</code>|+     MARIADB_ROOT_PASSWORDpasswordmariadb</code>|
  
  
Ligne 66: Ligne 68:
   * nom du conteneur : **phpmyadmin**   * nom du conteneur : **phpmyadmin**
   * port local d'écoute pour accéder au site Web phpmyadmin : **8080** ;   * port local d'écoute pour accéder au site Web phpmyadmin : **8080** ;
-  * liaison avec le conteneur **servbdd** en renseignant le **nom du serveur MariaDB** dans la variable d'environnement **PMA_HOST** : **PMA_HOST=servbdd**.+  * liaison avec le conteneur **servbdd** en renseignant le **nom du serveur MariaDB** dans la variable d'environnement **PMA_HOST** : **PMA_HOSTservbdd**.
  
 Voici les paramètres de la commande Docker et les équivalents à écrire dans le fichier  Docker-compose.yml  Voici les paramètres de la commande Docker et les équivalents à écrire dans le fichier  Docker-compose.yml 
Ligne 87: Ligne 89:
      - 8080:80      - 8080:80
    environment:    environment:
-     PMA_HOST=servbdd </code>|+     PMA_HOST=servbdd </code>|
  
  
Ligne 93: Ligne 95:
 ====Création du serveur Web avec les paramètres suivants :==== ====Création du serveur Web avec les paramètres suivants :====
   * nom du conteneur : **servweb**   * nom du conteneur : **servweb**
-  * image Docker personnalisée (basé sur l'image php:8.1-apache) : **charles/php**.+  * image Docker personnalisée (basé sur l'image php:8.1-apache) : **ctecher/php-mariadb**.
   * mappage du site Web sur le port local : **8001** ;   * mappage du site Web sur le port local : **8001** ;
   * dossier local contenant les fichiers du site Web : **c:\www\html\siteweb**;   * dossier local contenant les fichiers du site Web : **c:\www\html\siteweb**;
Ligne 112: Ligne 114:
   charles/php</code>|<code> services:    charles/php</code>|<code> services: 
  servweb:   servweb: 
-   image: charles/php+   image: ctecher/php-mariadb
    depends_on:    depends_on:
      - servbdd      - servbdd
Ligne 126: Ligne 128:
  
  
-===== Le fichier docker-compose.yml de l'architecture complète LAMP=====+===== Le fichier docker-compose.yml complet de l'architecture LAMP=====
 <code file docker-compose.yml> <code file docker-compose.yml>
-version: '3.3'+version: '3'
 services:  services: 
- servbdd:  +  # base de données MariaDB 
-   image: mariadb +  servbdd:  
-   volumes: +    image: mariadb 
-     - c:\www\html\siteweb-bdd:/var/lib/mysql  +    volumes: 
-   environment: +      - c:\www\html\nolark-bdd:/var/lib/mysql  
-     - MARIADB_ROOT_PASSWORD=passwordmariadb+    environment: 
 +      MARIADB_ROOT_PASSWORDpasswordmariadb
  
- phpmyadmin:  +  # site Web phpmyadmin 
-   image: phpmyadmin +  phpmyadmin:  
-   depends_on: +    image: phpmyadmin 
-     - servbdd +    depends_on: 
-   ports: +      - servbdd 
-     - 8080:80 +    ports: 
-   environment: +      - 8080:80 
-     - PMA_HOST=servbdd+    environment: 
 +      PMA_HOSTservbdd 
 + 
 +  # site Web  
 +  servweb:  
 +    image: ctecher/php-mariadb 
 +    depends_on: 
 +      - servbdd 
 +    ports: 
 +      - 8001:80 
 +    volumes: 
 +      - c:\www\html\nolark:/var/www/html   
 +      - c:\www\html\nolark_logs:/var/log/apache2
  
- servweb:  
-   image: charles/php 
-   depends_on: 
-     - servbdd 
-   ports: 
-     - 8001:80 
-   volumes: 
-     - c:\www\html\siteweb:/var/www/html   
-     - c:\www\log:/var/log/apache2 
 </code> </code>
 +<uml>
 +@startyaml
 +services: 
 +  # base de données MariaDB
 +  servbdd: 
 +    image: mariadb
 +    volumes:
 +      - c:\www\html\nolark-bdd:/var/lib/mysql 
 +    environment:
 +      MARIADB_ROOT_PASSWORD: passwordmariadb
 +
 +  # site Web phpmyadmin
 +  phpmyadmin: 
 +    image: phpmyadmin
 +    depends_on:
 +      - servbdd
 +    ports:
 +      - 8080:80
 +    environment:
 +      PMA_HOST: servbdd
 +
 +  # site Web 
 +  servweb: 
 +    image: charles/php
 +    depends_on:
 +      - servbdd
 +    ports:
 +      - 8001:80
 +    volumes:
 +      - c:\www\html\nolark:/var/www/html  
 +      - c:\www\html\nolark_logs:/var/log/apache2
 +@endyaml
 +</uml>
  
 ===== Exécution des commandes du fichier docker-compose.yml===== ===== Exécution des commandes du fichier docker-compose.yml=====
Ligne 162: Ligne 201:
 ==== Lancement de tous les conteneurs avec Docker-compose==== ==== Lancement de tous les conteneurs avec Docker-compose====
 <code> <code>
-docker-composer up -d +docker-compose up -d 
 </code> </code>
  
Ligne 176: Ligne 215:
 ==== Arrêt de tous les conteneurs avec Docker-compose==== ==== Arrêt de tous les conteneurs avec Docker-compose====
 <code> <code>
-docker-composer down+docker-compose down
 </code> </code>
  
Ligne 182: Ligne 221:
 ===== Activité à faire ===== ===== Activité à faire =====
 <WRAP center round todo> <WRAP center round todo>
-**Mission 1  :** +**Mission :** 
-  * Utilisez le site **PhpMyAdmin** pour restaurer la base de données du site Web.+  * Créer un fichier docker-compose.yml qui permet de créer un site Wordpress avec la base de données **MariaDB**.
  
-**Mission 2  :** +Voici les variables d'environnement nécessaires pour le **conteneur MariaDB** : 
-  * **Créez** le conteneur Docker du site Web en utilisant l'image **charles/php** que vous avez créée et en le liant au conteneur **servbdd** . +  * MARIADB_ROOT_PASSWORD: passwordmariadb 
-  * Testez que le site est **complètement opérationnel**.+  MARIADB_DATABASE: wordpress 
 +  MARIADB_USER: wordpress 
 +  * MARIADB_PASSWORD: wordpress
  
-Vous pouvez prendre connaissance des **paramètres de connexion** nécessaires au site Web pour se connecter à la base de données dans l'un des fichiers du site Web.+Voici les variables d'environnement nécessaires pour le **conteneur Wordpress** 
 +  * WORDPRESS_DB_HOST: servbdd 
 +  * WORDPRESS_DB_NAME: wordpress 
 +  * WORDPRESS_DB_USER: wordpress 
 +  * WORDPRESS_DB_PASSWORD: wordpress
  
 </WRAP> </WRAP>
Ligne 195: Ligne 240:
  
  
- 
-===== Autres ressources ===== 
- 
- 
-Lien : https://www.alsacreations.com/tuto/lire/1836-Docker--decouverte-et-environnement-LAMP-pour-WordPress.html 
  
  
 ====== Retour Accueil Docker ====== ====== Retour Accueil Docker ======
   * [[reseau:docker:accueil|Docker]]   * [[reseau:docker:accueil|Docker]]
reseau/docker/lampdockercompose.1679241250.txt.gz · Dernière modification: 2023/03/19 16:54 de techer.charles_educ-valadon-limoges.fr