reseau:docker:lampdocker
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| reseau:docker:lampdocker [2023/02/26 16:12] – [Utilisation d’un conteneur phpmyadmin pour administrer la base de données] techer.charles_educ-valadon-limoges.fr | reseau:docker:lampdocker [2025/04/29 23:06] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Activité : créer un environnement LAMP avec Docker ====== | ====== Activité : créer un environnement LAMP avec Docker ====== | ||
| + | <WRAP center round info> | ||
| + | Utiliser Docker en ligne : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | </ | ||
| + | |||
| ===== 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 24: | ||
| * 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 : | + | Pour le site Web dynamique, l' |
| - | < | + | * le service MariaDB sera en **écoute** sur le port par défaut |
| - | PS> docker network ls | + | * Le mot de passe du compte **root** de **MariaDB** est passé au conteneur via la variable d’environnement **MARIADB\_ROOT_PASSWORD** ; |
| - | 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' | + | |
| - | * le conteneur MariaDB sera dasn le réseau Docker **lamp** ; | + | |
| - | * 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** ; | + | |
| * les bases de données du conteneur situé dans **/ | * les bases de données du conteneur situé dans **/ | ||
| Ligne 56: | Ligne 48: | ||
| </ | </ | ||
| - | * 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 | ||
| </ | </ | ||
| ===== Utilisation d’un conteneur phpmyadmin pour administrer la base de données ===== | ===== Utilisation d’un conteneur phpmyadmin pour administrer la base de données ===== | ||
| + | |||
| **Phpmyadmin** est un **site Web écrit avec PHP** qui permet d' | **Phpmyadmin** est un **site Web écrit avec PHP** qui permet d' | ||
| Lors de la création du conteneur basé sur l' | Lors de la création du conteneur basé sur l' | ||
| - | * 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' |
| + | |||
| + | 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: |
| </ | </ | ||
| - | En accédant au site de **PhpMyadmin** à l'URL http:// | + | L' |
| + | |||
| + | |||
| + | En accédant au site de PhpMyadmin à l'URL http:// | ||
| {{ : | {{ : | ||
| Ligne 85: | Ligne 94: | ||
| <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 : | + | |
| - | * utilisez le mêmz réseau Docker | + | ==== Remarques : ==== |
| - | * le paramètre **-h** doit être utilisé pour préciser le nom du contenur | + | |
| + | * l' | ||
| + | * 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. | ||
| + | |||
| </ | </ | ||
| ===== 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 110: | Ligne 136: | ||
| Lien : https:// | Lien : https:// | ||
| + | |||
| + | ===== Mémento Docker ===== | ||
| + | |||
| + | <WRAP center round info> | ||
| + | **Mémento Docker** : https:// | ||
| + | </ | ||
| ====== Retour Accueil Docker ====== | ====== Retour Accueil Docker ====== | ||
| + | |||
| * [[reseau: | * [[reseau: | ||
reseau/docker/lampdocker.1677424368.txt.gz · Dernière modification : 2023/02/26 16:12 de techer.charles_educ-valadon-limoges.fr
