Docker est un outil permettant de créer, déployer et exécuter des applications dans des conteneurs.
🧱 C'est quoi un conteneur ?
Un conteneur Docker est une unité légère et portable qui contient tout ce qu’il faut pour exécuter une application :
-
Le code
-
Les dépendances (bibliothèques, runtime, etc.)
-
La configuration
-
Le système d'exploitation minimal
Contrairement aux machines virtuelles, les conteneurs partagent le noyau de l’OS et sont donc beaucoup plus légers et rapides.
🔄 À quoi sert Docker ?
-
🧪 Faire tourner une app localement comme en production
-
📦 Emballer votre application pour un déploiement automatisé (CI/CD)
-
🧩 Isoler les composants d'une architecture (ex : app + base de données)
-
🌍 Exécuter la même app sur n’importe quel système
🛠 Exemple avec une application C# (.NET)
🎯 Objectif :
Conteneuriser une application console ou Web API C# avec Docker.
📁 Structure du projet :
/MonProjet
├── Program.cs
├── MonProjet.csproj
└── Dockerfile
🧪 Exemple simple : Web API .NET 8 (C#)
Program.cs
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello depuis Docker !");
app.Run();
🐳 Dockerfile
# Étape 1 : build
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /app
COPY . ./
RUN dotnet publish -c Release -o out
# Étape 2 : runtime
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
WORKDIR /app
COPY --from=build /app/out ./
ENTRYPOINT ["dotnet", "MonProjet.dll"]
📦 Commandes Docker :
-
Construire l’image :
docker build -t mon-projet-dotnet .
-
Lancer le conteneur :
docker run -p 8080:80 mon-projet-dotnet
-
Tester dans le navigateur :
http://localhost:8080
⚠️ Remarques :
-
docker-compose.yml
peut être utilisé pour gérer plusieurs services (ex : app + SQL Server). -
Docker est idéal pour les microservices .NET.
📌 Résumé
Terme | Description |
---|---|
Docker | Outil de gestion de conteneurs |
Image Docker | Modèle d'un conteneur (comme une recette) |
Conteneur Docker | Instance d'une image en cours d'exécution |
Dockerfile | Script qui décrit comment construire l’image |
docker build/run |
Commandes pour compiler et exécuter |
Aucun commentaire:
Enregistrer un commentaire