diff --git a/README.md b/README.md index e8d3543bc57da27c2a3e3a391e2ab36f1f28837e..5c606e877fabdc8cf3a9ba0ca32de83bb6fcc99e 100644 --- a/README.md +++ b/README.md @@ -2,49 +2,7 @@ > 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 02 : Registre +## Exercice 01 : Registre ### Détail de la configuration appliquée @@ -195,7 +153,7 @@ $ docker buildx build --platform linux/arm64 -t masqueli/test-arm64:v1.0.0 --loa Félicitations ! Vous êtes en mesure de délivrer des images multi-plateformes désormais :) -## Exercice 03 : Réseau & Sécurité +## Exercice 02 : Réseau & Sécurité ### Utilisation de la directive USER @@ -297,24 +255,4 @@ Essayez de faire un `chmod`. Qu'observez-vous ? Récupérez l'image de Trivy depuis le DockerHub (`aquasec/trivy`). Créez un répertoire local qui va recevoir la base de données des vulnérabilités de l'outil et montez celui-ci dans le répertoire `/root/.cache` d'un conteneur que vous appelerez `scanner`. -Effectuez maintenant un scan de toutes vulnérabilités de l'image `mysql:8.0` depuis le DockerHub (servez-vous de la slide qui présente des exemples d'utilisations de l'outil). Qu'observez-vous ? Faites à nouveau le test avec l'image `mysql:latest`. Quelle est votre conclusion ? - -## 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 +Effectuez maintenant un scan de toutes vulnérabilités de l'image `mysql:8.0` depuis le DockerHub (servez-vous de la slide qui présente des exemples d'utilisations de l'outil). Qu'observez-vous ? Faites à nouveau le test avec l'image `mysql:latest`. Quelle est votre conclusion ? \ No newline at end of file