Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
reseau:docker:lampdockercompose [2023/03/19 16:45] techer.charles_educ-valadon-limoges.fr [Le fichier docker-compose.yml de l'architecture complète LAMP] |
reseau:docker:lampdockercompose [2023/04/17 17:56] techer.charles_educ-valadon-limoges.fr [Création du serveur Web avec les paramètres suivants :] |
||
---|---|---|---|
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. | ||
- | {{ : | ||
===== 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 |
* dossier local pour la persistance des bases de données du conteneur : **c: | * dossier local pour la persistance des bases de données du conteneur : **c: | ||
Ligne 60: | Ligne 62: | ||
- c: | - c: | ||
| | ||
- | - MARIADB_ROOT_PASSWORD=passwordmariadb</ | + | |
Ligne 66: | Ligne 68: | ||
* nom du conteneur : **phpmyadmin** | * nom du conteneur : **phpmyadmin** | ||
* port local d' | * port local d' | ||
- | * liaison avec le conteneur **servbdd** en renseignant le **nom du serveur MariaDB** dans la variable d' | + | * liaison avec le conteneur **servbdd** en renseignant le **nom du serveur MariaDB** dans la variable d' |
Voici les paramètres de la commande Docker et les équivalents à écrire dans le fichier | Voici les paramètres de la commande Docker et les équivalents à écrire dans le fichier | ||
Ligne 84: | Ligne 86: | ||
| | ||
- servbdd | - servbdd | ||
- | port: | + | ports: |
- 8080:80 | - 8080:80 | ||
| | ||
- | - PMA_HOST=servbdd </ | + | |
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 Docker personnalisée (basé sur l' |
* 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: | * dossier local contenant les fichiers du site Web : **c: | ||
Ligne 112: | Ligne 114: | ||
charles/ | charles/ | ||
| | ||
- | | + | |
| | ||
- servbdd | - servbdd | ||
- | port: | + | ports: |
- 8001:80 | - 8001:80 | ||
| | ||
Ligne 126: | Ligne 128: | ||
- | ===== Le fichier docker-compose.yml de l' | + | ===== Le fichier docker-compose.yml |
<code file docker-compose.yml> | <code file docker-compose.yml> | ||
- | version: '3.3' | + | version: ' |
services: | services: | ||
- | | + | # base de données MariaDB |
- | | + | |
- | | + | image: mariadb |
- | | + | volumes: |
- | | + | - c: |
- | - MARIADB_ROOT_PASSWORD=passwordmariadb | + | 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: | ||
+ | - c: | ||
+ | |||
+ | </ | ||
+ | <uml> | ||
+ | @startyaml | ||
services: | services: | ||
- | phpmyadmin: | + | # base de données MariaDB |
- | | + | servbdd: |
- | depends_on: | + | image: |
- | | + | |
- | port: | + | - c:\www\html\nolark-bdd:/ |
- | - 8080:80 | + | environment: |
- | | + | |
- | - PMA_HOST=servbdd | + | |
- | services: | + | # site Web phpmyadmin |
- | | + | phpmyadmin: |
- | | + | |
- | | + | depends_on: |
- | | + | - servbdd |
- | port: | + | ports: |
- | | + | - 8080:80 |
- | | + | environment: |
- | | + | PMA_HOST: servbdd |
- | | + | |
- | </code> | + | # site Web |
+ | | ||
+ | image: charles/ | ||
+ | depends_on: | ||
+ | - servbdd | ||
+ | ports: | ||
+ | - 8001:80 | ||
+ | volumes: | ||
+ | - c: | ||
+ | - c:\www\html\nolark_logs:/ | ||
+ | @endyaml | ||
+ | </uml> | ||
===== Exécution des commandes du fichier docker-compose.yml===== | ===== Exécution des commandes du fichier docker-compose.yml===== | ||
Ligne 164: | Ligne 201: | ||
==== Lancement de tous les conteneurs avec Docker-compose==== | ==== Lancement de tous les conteneurs avec Docker-compose==== | ||
< | < | ||
- | docker-composer | + | docker-compose |
+ | </ | ||
+ | |||
+ | Résultat de la commande : | ||
+ | < | ||
+ | PS C: | ||
+ | [+] Running 4/4 | ||
+ | - Network html_default | ||
+ | - Container html-servbdd-1 | ||
+ | - Container html-phpmyadmin-1 | ||
+ | - Container html-servweb-1 | ||
</ | </ | ||
==== Arrêt de tous les conteneurs avec Docker-compose==== | ==== Arrêt de tous les conteneurs avec Docker-compose==== | ||
< | < | ||
- | docker-composer | + | docker-compose |
</ | </ | ||
Ligne 174: | Ligne 221: | ||
===== Activité à faire ===== | ===== Activité à faire ===== | ||
<WRAP center round todo> | <WRAP center round todo> | ||
- | **Mission | + | **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 |
- | **Mission 2 :** | + | Voici les variables d' |
- | * **Créez** le conteneur Docker du site Web en utilisant l' | + | * MARIADB_ROOT_PASSWORD: |
- | * Testez que le site est **complètement opérationnel**. | + | |
+ | | ||
+ | * MARIADB_PASSWORD: | ||
- | 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' |
+ | * WORDPRESS_DB_HOST: | ||
+ | * WORDPRESS_DB_NAME: | ||
+ | * WORDPRESS_DB_USER: | ||
+ | * WORDPRESS_DB_PASSWORD: | ||
</ | </ | ||
Ligne 187: | Ligne 240: | ||
- | |||
- | ===== Autres ressources ===== | ||
- | |||
- | |||
- | Lien : https:// | ||
====== Retour Accueil Docker ====== | ====== Retour Accueil Docker ====== | ||
* [[reseau: | * [[reseau: |