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:lampdockercompose [2023/03/19 17:01] techer.charles_educ-valadon-limoges.fr [Activité à faire] |
reseau:docker:lampdockercompose [2023/04/17 17:56] (Version actuelle) techer.charles_educ-valadon-limoges.fr [Le fichier docker-compose.yml complet de l'architecture LAMP] |
||
---|---|---|---|
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 87: | Ligne 89: | ||
- 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 | ||
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 |
- | | + | |
- | | + | image: phpmyadmin |
- | | + | depends_on: |
- | | + | - servbdd |
- | | + | ports: |
- | | + | - 8080:80 |
- | - PMA_HOST=servbdd | + | environment: |
+ | PMA_HOST: servbdd | ||
+ | |||
+ | # site Web | ||
+ | servweb: | ||
+ | image: ctecher/ | ||
+ | depends_on: | ||
+ | - servbdd | ||
+ | ports: | ||
+ | - 8001:80 | ||
+ | volumes: | ||
+ | - c: | ||
+ | - c: | ||
- | | ||
- | | ||
- | | ||
- | - servbdd | ||
- | | ||
- | - 8001:80 | ||
- | | ||
- | - c: | ||
- | - c: | ||
</ | </ | ||
+ | <uml> | ||
+ | @startyaml | ||
+ | services: | ||
+ | # base de données MariaDB | ||
+ | servbdd: | ||
+ | image: mariadb | ||
+ | volumes: | ||
+ | - c: | ||
+ | environment: | ||
+ | MARIADB_ROOT_PASSWORD: | ||
+ | |||
+ | # 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: | ||
+ | @endyaml | ||
+ | </ | ||
===== Exécution des commandes du fichier docker-compose.yml===== | ===== Exécution des commandes du fichier docker-compose.yml===== | ||
Ligne 162: | Ligne 201: | ||
==== Lancement de tous les conteneurs avec Docker-compose==== | ==== Lancement de tous les conteneurs avec Docker-compose==== | ||
< | < | ||
- | docker-composer | + | docker-compose |
</ | </ | ||
Ligne 176: | Ligne 215: | ||
==== Arrêt de tous les conteneurs avec Docker-compose==== | ==== Arrêt de tous les conteneurs avec Docker-compose==== | ||
< | < | ||
- | docker-composer | + | docker-compose |
</ | </ | ||
Ligne 183: | Ligne 222: | ||
<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 |
- | Voici les variables d' | + | Voici les variables d' |
- | * MYSQL_ROOT_PASSWORD: password | + | * MARIADB_ROOT_PASSWORD: passwordmariadb |
- | * MYSQL_DATABASE: wordpress | + | * MARIADB_DATABASE: wordpress |
- | * MYSQL_USER: wordpress | + | * MARIADB_USER: wordpress |
- | * MYSQL_PASSWORD: wordpress | + | * MARIADB_PASSWORD: wordpress |
- | Voici les variables d' | + | Voici les variables d' |
- | * WORDPRESS_DB_HOST: | + | * WORDPRESS_DB_HOST: |
+ | * WORDPRESS_DB_NAME: wordpress | ||
* WORDPRESS_DB_USER: | * WORDPRESS_DB_USER: | ||
* WORDPRESS_DB_PASSWORD: | * WORDPRESS_DB_PASSWORD: | ||
Ligne 200: | Ligne 240: | ||
- | |||
- | ===== Autres ressources ===== | ||
- | |||
- | |||
- | Lien : https:// | ||
====== Retour Accueil Docker ====== | ====== Retour Accueil Docker ====== | ||
* [[reseau: | * [[reseau: |