Table des matières

Activité : créer un environnement LAMP avec Docker

Objectif

Réaliser un environnement LAMP avec 3 conteneurs pour le site Web Nolark :

Les fichiers du site web Nolark ainsi le script de restauration de la base de données se trouvent dans l'équipe Teams de la classe.

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

Créez un conteneur avec les informations suivantes :

Le site Web doit être est accessible à l'URL : http://localhost:8001

Toute page créée ou modifiée dans le dossier local C:\www\html\nolark est publiée dans le site Web.

Utilisation d’un serveur de base de données conteneurisé

Votre architecture doit maintenant mettre en oeuvre :

Pour le site Web dynamique, l'image officielle Docker de la base de données MariadDB sera utilisée avec les informations suivnates :

Pour en savoir plus sur l'utilisation du conteneur MariaDB :

Certaines variables données dans ce lien ne sont plus bonnes.

docker run --name servbdd  -d -v c:\www\html\siteweb-bdd:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=passwordmariadb  mariadb
docker run --name servbdd  -d -v /home/user/www/html/siteweb-bdd:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=passwordmariadb  mariadb

Utilisation d’un conteneur phpmyadmin pour administrer la base de données

Phpmyadmin est un site Web écrit avec PHP qui permet d'administrer un serveur MariaDB.

Lors de la création du conteneur basé sur l'image phpmyadmin, il sera nécessaire :

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'opérateur link : pour cela Docker modifie le fichier /etc/hosts pour associer le nom à l'adresse IP du service.
docker run --name phpmyadmin -d --link servbdd:servbdd  -e PMA_HOST=servbdd -p 8080:80 phpmyadmin

L'opérateur link prend en argument le nom_du_conteneur_d_origine:alias_de_ce_conteneuralias_de_ce_conteneur est un nom d’alias libre qui peut être le même que celui du conteneur d’origine.

En accédant au site de PhpMyadmin à l'URL http://localhost:8080, vous devez visualiser la page d'accueil de PhpMyAdmin et pouvoir vous authentifier avec le compte root et le mot de passe passwordmariadb défini précédemment :

Pour en savoir plus sur l'utilisation de l'image phpmyadmin :

Il est également possible de gérer la base de données MariaDB en utilisant le client MariaDB présent dans l'image MariaDB.

Pour cela, lancez un conteneur basé sur l'image MariaDB, en mode interactif :

docker run -it --rm --link servbdd:servbdd mariadb mariadb -h servbdd -u root -p

Remarques :

  • l'opérateur link permet de lier les 2 conteneurs ;
  • le paramètre -h doit être utilisé pour préciser le nom du conteneur servbdd (précisé par l'opérateur link) contenant le serveur MariaDB.
  • la paramètre –rm permet de détruire le conteneur dès que vous le quittez.

Architecture complète LAMP

Il ne reste plus maintenant qu'à :

Activité à faire

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'image que vous avez créée pour php ou bien l'image ctecher/php et en le liant au conteneur servbdd .
  • 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.

Autres ressources

Lien : https://www.alsacreations.com/tuto/lire/1836-Docker--decouverte-et-environnement-LAMP-pour-WordPress.html

Mémento Docker

Retour Accueil Docker