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édentesRévision précédente
Prochaine révision
Révision précédente
reseau:docker:lampdockercompose [2023/03/19 20:13] techer.charles_educ-valadon-limoges.frreseau:docker:lampdockercompose [2025/06/11 08:27] (Version actuelle) admin
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 =====
 Un fichier docker-compose.yml doit être créé avec les instructions nécessaires dont voici celles qui sont à utiliser : Un fichier docker-compose.yml doit être créé avec les instructions nécessaires dont voici celles qui sont à utiliser :
   * Le mot-clé **service** : permet de définir les différents conteneurs qui seront activés.   * Le mot-clé **service** : permet de définir les différents conteneurs qui seront activés.
-  * L'instruction **image** : permet de préciser l'imagfe à utiliser pour créer le conteneur+  * L'instruction **image** : permet de préciser l'image à utiliser pour créer le conteneur
   * L'instruction **depends_on** : permet de définir le lien avec un autre conteneur   * L'instruction **depends_on** : permet de définir le lien avec un autre conteneur
   * L'instruction **volume** : met en œuvre le mécanisme de persistance des données   * L'instruction **volume** : met en œuvre le mécanisme de persistance des données
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_HOST: servbdd**.
  
 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 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' 
 services:  services: 
   # base de données MariaDB   # base de données MariaDB
Ligne 150: Ligne 151:
   # site Web    # site Web 
   servweb:    servweb: 
-    image: charles/php+    image: ctecher/php-mariadb
     depends_on:     depends_on:
       - servbdd       - servbdd
Ligne 160: Ligne 161:
  
 </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 166: Ligne 200:
 ==== 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 180: Ligne 214:
 ==== 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 187: Ligne 221:
 <WRAP center round todo> <WRAP center round todo>
 **Mission :** **Mission :**
-  * Créer un fichier docker-compose.yml qui permet de créer un site Wordpress.+  * Créer un fichier docker-compose.yml qui permet de créer un site Wordpress avec la base de données **MariaDB**.
  
-Voici les variables d'environnement nécessaires pour le conteneur MariaDB : +Voici les variables d'environnement nécessaires pour le **conteneur MariaDB** 
-  * MARIADB_ROOT_PASSWORD: passwordmariadb +  * MARIADB\_ROOT\_PASSWORD: passwordmariadb 
-  * MARIADB_DATABASE: wordpress +  * MARIADB\_DATABASE: wordpress 
-  * MARIADB_USER: wordpress +  * MARIADB\_USER: wordpress 
-  * MARIADB_PASSWORD: wordpress+  * MARIADB\_PASSWORD: wordpress
  
-Voici les variables d'environnement nécessaires pour le conteneur Wordpress: +Voici les variables d'environnement nécessaires pour le **conteneur Wordpress** 
-  * WORDPRESS_DB_HOST: servbdd +  * WORDPRESS\_DB\_HOST: servbdd 
-  * WORDPRESS_DB_NAME: wordpress +  * WORDPRESS\_DB\_NAME: wordpress 
-  * WORDPRESS_DB_USER: wordpress +  * WORDPRESS\_DB\_USER: wordpress 
-  * WORDPRESS_DB_PASSWORD: wordpress+  * WORDPRESS\_DB\_PASSWORD: wordpress
  
 </WRAP> </WRAP>
Ligne 205: Ligne 239:
  
  
- 
-===== 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.1679253213.txt.gz · Dernière modification : 2023/03/19 20:13 de techer.charles_educ-valadon-limoges.fr