Skip to content
Snippets Groups Projects
Commit b5d58152 authored by Benjamin Lecha's avatar Benjamin Lecha :upside_down:
Browse files

Ajout des exo historiquement en "intermediaire"

parents
No related branches found
No related tags found
No related merge requests found
# Formation Docker: session "experimente"
> Nous vous recommandons de bien lire l'ensemble de la consigne avant de démarrer un exercice.
## Exercice 01
### Docker Compose
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 [mots-clés docker compsoe](https://docs.docker.com/compose/compose-file/05-services/) suivant :
```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 devriez réussir à les identifier vous même :p
Pour me faire pardonner quelques commandes :
- `docker compose up` : pour tout construire
- `docker container ps` : pour voir le status des conteneurs
- `docker compose down` : pour tout détruire
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
1. Quel est le mot de passe généré aléatoirement par Docker ?
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 04 : Multi-Stage
### Facile
Réaliser un site statique avec [Hugo](https://gohugo.io), il vous faudra appliquer un thème et génrer au moins un article.
Pour cela la [documentation](https://gohugo.io/getting-started/quick-start/) devrait vous être très utile.
Une fois votre site générer, supprimer le dossier `public` et hebergé votre site dans un conteneur Docker avec un serveur web.
N'hésitez pas à vous inspirer des diaposivites pour l'écriture du Dockerfile.
### Dificile
Réaliser un Dockerfile Multi-Stage avec [Pandoc](https://pandoc.org/) pour cela il vous faudra :
- [ ] Identifier votre image source depuis le [DockerHub](https://hub.docker.com) et l'initialiser si vous avez besoin de faire des installations dessus.
- [ ] Copier sur votre image un fichier texte (docx, rtf, txt, md, ...) de votre choix et convertissez le en HTML. Jetez un oeil aux [démos](https://pandoc.org/demos.html)
- [ ] Récupérer le fichier HTML ainsi générer et exposer le via une image NGINX
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment