Sobes.tech
Junior

Wat is het verschil tussen een afbeelding en een container?

sobes.tech AI

Antwoord van AI

Een image is een statische, onveranderlijke snapshot van het bestandssysteem en de configuratieparameters die nodig zijn om een applicatie te starten. Het dient als sjabloon.

Een container is een lopende instantie van een image. Het is dynamisch en vertegenwoordigt een actief proces met zijn eigen netwerkinterface, bestandssysteem (gebaseerd op de image) en geïsoleerde omgeving.

Kenmerk Image Container
Status Onveranderlijk Veranderlijk
Entiteit Sjabloon Lopende instantie
Grootte Meestal kleiner dan een lopende container Kan groter zijn door de schrijflaag
Levenscyclus Wordt gemaakt, opgeslagen Wordt gemaakt, gestart, gestopt, verwijderd

Voorbeeld: Dockerfile:

# Basis image
FROM ubuntu:latest

# Applicatie kopiëren
COPY app /app

# Dependencies installeren
RUN apt-get update && apt-get install -y python3

# Werkdirectory definiëren
WORKDIR /app

# Startcommando
CMD ["python3", "main.py"]

Dit Dockerfile beschrijft hoe een image te bouwen. Na het bouwen van de image, bijvoorbeeld met het commando docker build -t myapp ., krijgen we een statische image myapp.

Vervolgens, door het commando docker run -d myapp uit te voeren, maken we een container op basis van deze image. Deze container is een actieve proces waarin onze applicatie draait. Meerdere containers kunnen worden gemaakt uit één image. Wijzigingen binnen een container (bijvoorbeeld het schrijven van bestanden) beïnvloeden de image zelf of andere containers die uit dezelfde zijn gemaakt niet, dankzij het Copy-on-Write mechanisme.