Sobes.tech
Junior

Quelle est la différence entre une image et un conteneur?

sobes.tech IA

Réponse de l'IA

Une image est une capture statique et immuable du système de fichiers et des paramètres de configuration nécessaires pour exécuter une application. Elle sert de modèle.

Un conteneur est une instance en cours d'exécution d'une image. Il est dynamique et représente un processus en cours avec sa propre interface réseau, son système de fichiers (basé sur l'image) et un environnement isolé.

Caractéristique Image Conteneur
État Immuable Modifiable
Entité Modèle Instance en cours d'exécution
Taille Généralement plus petite qu'un conteneur en cours Peut être plus grande en raison de la couche d'écriture
Cycle de vie Créé, stocké Créé, lancé, arrêté, supprimé

Exemple: Dockerfile:

# Image de base
FROM ubuntu:latest

# Copier l'application
COPY app /app

# Installer les dépendances
RUN apt-get update && apt-get install -y python3

# Définir le répertoire de travail
WORKDIR /app

# Commande de lancement
CMD ["python3", "main.py"]

Ce Dockerfile décrit comment construire une image. Après la construction, par exemple avec la commande docker build -t myapp ., on obtient une image statique appelée myapp.

Ensuite, en exécutant la commande docker run -d myapp, on crée un conteneur basé sur cette image. Ce conteneur est un processus actif dans lequel notre application s'exécute. Plusieurs conteneurs peuvent être créés à partir d'une même image. Les modifications à l'intérieur d'un conteneur (par exemple, l'écriture de fichiers) n'affectent pas l'image ni d'autres conteneurs créés à partir de la même, grâce au mécanisme Copy-on-Write.