Vous allez devoir lancer trois conteneurs sur votre machine : nginx, mysql et httpd
Vous allez devoir lancer trois conteneurs sur votre machine en même temps via [docker compose](https://docs.docker.com/compose/) : [wordpress](https://wordpress.com/fr/), [mysql](https://www.mysql.com/fr/) et [adminer](https://www.adminer.org/)
Pour chacun d'entre eux, vous utiliserez les deux options suivantes à chaque fois :
Pour chacun d'entre eux, vous utiliserez les [mots-clés docker compsoe](https://docs.docker.com/compose/compose-file/05-services/) suivant :
```sh
--detach
--name
```text
image
restart
ports (si nécessaire)
environment (si nécessaire)
volume (si nécessaire)
depends_on
container_name
```
Pour ce qui est des des ports d’écoute, vous devrez configurer les conteneurs de la manière suivante :
Pour ce qui est des des ports d’écoute, vous devriez réussir à les identifier vous même :p
- nginx avec le mapping 8001:80
- httpd avec le mapping 8002:80
- mysql avec le mapping 3306:3306
Pour me faire pardonner quelques commandes :
Lorsque vous lancerez le conteneur mysql, utilisez l’option `--env` afin de lui faire passer le couple variable d'environnement et valeur `MYSQL_RANDOM_ROOT_PASSWORD=yes` ([cf. ici pour la doc.](https://hub.docker.com/_/mysql))
-`docker compose up` : pour tout construire
-`docker container ps` : pour voir le status des conteneurs
-`docker compose down` : pour tout détruire
Terminez en utilisant les commandes `docker container stop` et `docker container rm` pour tout nettoyer :)
Plus de précisions et de paramétrage sur ces commandes dans les diapositives ;-)
En plus des conteneurs, vous devrez ajouter à vos conteneurs **Wordpress** et **MySQL** des volumes **à la volée**. Pour rappel, ce sont des volumes correspondant à un dossier de votre sytème hôte.
Une fois tout en place, afficher votre site web dans un onglet, puis dans un autre votre [adminer](https://www.adminer.org/). Sur [adminer](https://www.adminer.org/), éditer le nom de votre blog, en modifiant l'`option_value` de l'`option_name` : `blogname` situé dans la table `wp_options`.
Retourner sur votre site web et actualisr la page pour constater les changements !
Vous pouvez également détruire et reconstruire vos conteneurs pour vous assurer du bon fonctionnement des volumes.
### Question pour cet exercice
...
...
@@ -31,13 +44,13 @@ Terminez en utilisant les commandes `docker container stop` et `docker container
Tip : Utilisez la commande `docker container logs` sur le conteneur `mysql`afin de récupérer le mot de passe root qui a été généré aléatoirement.
## Exercice 02 :
## Exercice 02 : Registre
### Travail à réaliser
// TODO
## Exercice 03 :
## Exercice 03 : Réseau & Sécurité
### Travail à réaliser
...
...
@@ -64,5 +77,5 @@ Réaliser un Dockerfile Multi-Stage avec [Pandoc](https://pandoc.org/) pour cela
- [ ] Récupérer le fichier HTML ainsi générer et exposer le via une image NGINX