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 | ||
reseau:docker:lampdocker [2023/02/26 16:12] techer.charles_educ-valadon-limoges.fr [Utilisation d’un conteneur phpmyadmin pour administrer la base de données] |
reseau:docker:lampdocker [2023/12/05 16:28] (Version actuelle) techer.charles_educ-valadon-limoges.fr |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Activité : créer un environnement LAMP avec Docker ====== | ====== Activité : créer un environnement LAMP avec Docker ====== | ||
===== Objectif ===== | ===== Objectif ===== | ||
- | Réaliser un environnement LAMP avec 3 conteneurs : | + | Réaliser un environnement LAMP avec 3 conteneurs |
* Conteneur Docker **Apache** (serveur Web) ; | * Conteneur Docker **Apache** (serveur Web) ; | ||
* Conteneur Docker **mariadb** (base de données) ; | * Conteneur Docker **mariadb** (base de données) ; | ||
* Conteneur Docker **phpmyadmin** (site Web d' | * Conteneur Docker **phpmyadmin** (site Web d' | ||
+ | <WRAP center round info> | ||
+ | Les fichiers du site web **Nolark** ainsi le script de restauration de la base de données se trouvent dans l' | ||
+ | </ | ||
- | Les fichiers du site Web et de la base de données seront enregistrés en local et non dans les conteneurs en utilisant le principe des volumes de Docker. | ||
- | {{ : | + | Les fichiers du site Web et de la base de données seront enregistrés en local et non dans les conteneurs en utilisant le principe des volumes de Docker. |
+ | {{: | ||
===== Utilisation d’un serveur Web Apache avec PHP ===== | ===== Utilisation d’un serveur Web Apache avec PHP ===== | ||
Créez un conteneur avec les informations suivantes : | Créez un conteneur avec les informations suivantes : | ||
Ligne 15: | Ligne 18: | ||
* dossier local pour la **persistance des logs du serveur Apache** ; | * dossier local pour la **persistance des logs du serveur Apache** ; | ||
* mappage du site Web sur le **port local 8001** ; | * mappage du site Web sur le **port local 8001** ; | ||
- | * conteneur Docker | + | * conteneur Docker |
Le site Web doit être est accessible à l'URL : http:// | Le site Web doit être est accessible à l'URL : http:// | ||
- | Toute page créée ou modifiée dans le dossier local **C: | + | Toute page créée ou modifiée dans le dossier local **C: |
===== Utilisation d’un serveur de base de données conteneurisé ===== | ===== Utilisation d’un serveur de base de données conteneurisé ===== | ||
Votre architecture doit maintenant mettre en oeuvre : | Votre architecture doit maintenant mettre en oeuvre : | ||
- | * un conteneur Docker **php:8.1-apache** pour le **serveur Web** ; | + | * un conteneur Docker |
- | * un conteneur Docker **mariadb** pour la base de données. | + | * un conteneur Docker |
- | + | ||
- | Pour cela, vous allez **créer un nouveau réseau Docker**, en plus celui créé par défaut qui est appelé **bridge**. | + | |
- | + | ||
- | * Pour visualiser les réseaux créés par Docker utilisez la commande suivante : | + | |
- | < | + | |
- | PS> docker network ls | + | |
- | PS C: | + | |
- | NETWORK ID | + | |
- | 0357f1f2d2c1 | + | |
- | 726b383a30a3 | + | |
- | 2550a660d6dd | + | |
- | </ | + | |
- | * créez une nouveau réseau Docker appelé **lamp** : | + | |
- | < | + | |
- | docker network create lamp | + | |
- | </ | + | |
Pour le site Web dynamique, l' | Pour le site Web dynamique, l' | ||
- | | + | * le service MariaDB sera en **écoute** sur le port par défaut |
- | | + | |
* Le mot de passe du compte **root** de **MariaDB** est passé au conteneur via la variable d’environnement **MARIADB_ROOT_PASSWORD** ; | * Le mot de passe du compte **root** de **MariaDB** est passé au conteneur via la variable d’environnement **MARIADB_ROOT_PASSWORD** ; | ||
* les bases de données du conteneur situé dans **/ | * les bases de données du conteneur situé dans **/ | ||
Ligne 56: | Ligne 42: | ||
</ | </ | ||
- | * Lancement d'un conteneur appelé **servbdd** basé sur l' | + | * Lancement d'un conteneur appelé **servbdd** basé sur l' |
+ | * Code Windows | ||
< | < | ||
- | docker run --name servbdd | + | docker run --name servbdd |
+ | </ | ||
+ | * Code Linux | ||
+ | < | ||
+ | docker run --name servbdd | ||
</ | </ | ||
Ligne 68: | Ligne 59: | ||
* de définir le port d' | * de définir le port d' | ||
* de **faire le lien** avec le conteneur **servbdd** créé à partir de l' | * de **faire le lien** avec le conteneur **servbdd** créé à partir de l' | ||
- | * en utilisant | + | * en utilisant |
* en renseignant le **nom du serveur MariaDB** dans la variable d' | * en renseignant le **nom du serveur MariaDB** dans la variable d' | ||
+ | |||
+ | <WRAP center round info> | ||
+ | L’opérateur **link** permet à un conteneur d’avoir accès directement au service d’un autre conteneur : | ||
+ | * via le **port** de ce service (par défaut ou redéfini par vous), | ||
+ | * en accédant au conteneur **par le nom** précisé dans l' | ||
+ | </ | ||
+ | |||
< | < | ||
- | docker run --name phpmyadmin -d --network lamp -e PMA_HOST=servbdd -p 8080:80 phpmyadmin | + | docker run --name phpmyadmin -d --link servbdd: |
</ | </ | ||
+ | |||
+ | <WRAP center round info > | ||
+ | L' | ||
+ | </ | ||
En accédant au site de **PhpMyadmin** à l'URL http:// | En accédant au site de **PhpMyadmin** à l'URL http:// | ||
Ligne 85: | Ligne 87: | ||
<WRAP center round info> | <WRAP center round info> | ||
- | Il est également possible de gérer la base de données MariaDB en utilisant le client MariaDB présent | + | Il est également possible de gérer la base de données MariaDB en utilisant le client MariaDB présent |
- | Pour cela, lancez un conteneur basé sur l' | + | Pour cela, lancez un conteneur basé sur l' |
< | < | ||
- | docker run -it --rm --network lamp mariadb mariadb -h servbdd -u root -p | + | docker run -it --rm --link servbdd: |
</ | </ | ||
- | Remarques : | + | **Remarques : ** |
- | * utilisez le mêmz réseau Docker | + | * l' |
- | * le paramètre **-h** doit être utilisé pour préciser le nom du contenur | + | * le paramètre **-h** doit être utilisé pour préciser le nom du conteneur |
* la paramètre **--rm** permet de détruire le conteneur dès que vous le quittez. | * la paramètre **--rm** permet de détruire le conteneur dès que vous le quittez. | ||
</ | </ | ||
Ligne 99: | Ligne 101: | ||
===== Architecture complète LAMP===== | ===== Architecture complète LAMP===== | ||
Il ne reste plus maintenant qu'à : | Il ne reste plus maintenant qu'à : | ||
- | * **récréer le conteneur du site Web** dans le même réseau Docker **lamp** ; | ||
* **créer la base de données** du site web à partir du **script de la sauvegarde de la base** ; | * **créer la base de données** du site web à partir du **script de la sauvegarde de la base** ; | ||
- | * **créer** dans le serveur MariaDB | + | * **récréer le conteneur du site Web** en le liant au conteneur |
* Tester que le site est opérationnel. | * Tester que le site est opérationnel. | ||
+ | |||
+ | ===== Activité à faire ===== | ||
+ | <WRAP center round todo> | ||
+ | **Mission 1 :** | ||
+ | * Utilisez le site **PhpMyAdmin** pour restaurer la base de données du site Web à partir du **script** de sauvegarde de la base de données. | ||
+ | |||
+ | **Mission 2 :** | ||
+ | * **Créez** le conteneur Docker du site Web en utilisant l' | ||
+ | * Testez que le site est **complètement opérationnel**. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | </ | ||
+ | |||
Ligne 111: | Ligne 126: | ||
Lien : https:// | Lien : https:// | ||
+ | ===== Mémento Docker ===== | ||
+ | <WRAP center round info> | ||
+ | **Mémento Docker** : https:// | ||
+ | </ | ||
====== Retour Accueil Docker ====== | ====== Retour Accueil Docker ====== | ||
* [[reseau: | * [[reseau: |