mercredi 7 juin 2023

Docker

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 :

  1. Construire l’image :

docker build -t mon-projet-dotnet .
  1. Lancer le conteneur :

docker run -p 8080:80 mon-projet-dotnet
  1. 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

Docker Lượt xem: