Avoir
docker
etdocker-compose
sur sa machine.- Avoir git
Vérifier vos installations avec :
docker -v
docker-compose -v
Vous devez suivre les étapes incluses dans le fichier steps.txt. Vous pouvez faire la commande
git checkout <no de l'étape>
Pour aller directement à une étape ou alors si vous êtes bloqué.
git clone https://github.com/Distil62/docker-workshop.git
cd docker-workshop
git checkout 1
Fichier à modifier :
- docker-compose.yml
Sauvegarder les données de votre base de donnée Mongo sur la machine hôte pour ne pas tout perdre lors de la suppression d'un container.
- https://docs.docker.com/compose/compose-file/compose-file-v3/#volumes
- https://hub.docker.com/_/mongo (Section "Where to Store Data")
Fichiers à modifier :
- Dockerfile
Mettre en place un environnement de développement pour une application .net core dans un environnement conteneurisé. Ce qui va nous permettre de développer notre application sans avoir à installer le SDK .net core sur notre machine physique.
- https://hub.docker.com/_/microsoft-dotnet-sdk
- https://docs.docker.com/engine/reference/builder/#from
- https://docs.mongodb.com/drivers/csharp/
Fichier à modifier :
- docker-compose.yml
- myApp\Dockerfile
Mettre notre application dans un container Docker afin de l'éxécuter sans avoir .NET Core installé.
L'application devrait échouer car dans un container elle ne peut pas se connecter à la base de données mongo locale.
- https://hub.docker.com/_/microsoft-dotnet-sdk
- https://docs.docker.com/engine/reference/builder/#from
Fichiers à modifier :
- docker-compose.yml
Apprendre à gérer les réseaux virtuel et comment docker-compose peut nous aider à bien agencer les différents services de notre application.
Fichiers à modifier :
- myApp\Dockerfile
Publier notre image sur un repo d'images afin de pouvoir l'utiliser dans nos différents environnements.
- https://docs.docker.com/engine/reference/commandline/login/
- https://docs.docker.com/engine/reference/commandline/push/
Pour faire cette partie vous devez fork ce dépôt. Une fois cela fait, cliquez sur Action, cherchez "Publish Docker Container" et cliquez sur "Set up this workflow"
Fichiers à modifier :
- .github\workflows\docker-publish.yml
- myApp\SonarQube.Analysis.xml
Vérifier que notre code passe les tests par défaut de Sonarqube en vigueur pour les applications C#.