Gidsen

Wat is Docker? Containers uitgelegd voor niet-developers

Docker is een tool die een app samen met alles wat hij nodig heeft om te draaien — de juiste taalversie, bibliotheken, systeemtools en instellingen — verpakt in een standaardeenheid die een container heet. Een container draait op dezelfde manier op de laptop van een ontwikkelaar, een testserver of een cloudhost, wat het klassieke probleem ‘maar op mijn machine werkte het’ oplost. Het recept om een container te bouwen is een kort tekstbestand dat een Dockerfile heet.

Waarom Docker ertoe doet als je met AI bouwt

Als je app een backend heeft — een API in Python, Node, C# of Java — moet die draaien op een plek waar precies de juiste software is geïnstalleerd. Docker is de meest voorkomende manier om dat herhaalbaar te maken.

  • Backends uitrollen. Veel hosts, waaronder Mythex, rollen backends uit door een container te bouwen vanuit een Dockerfile. In Mythex levert het vragen om ‘een C# Web API’ of ‘een Java-backend’ de app plus een Dockerfile op, en bouwt Publiceren de image en rolt hem uit (API-backends).
  • Een platform verlaten. Als je een met AI gebouwde app exporteert, maakt een Dockerfile het veel makkelijker om hem op een andere host te draaien. Zie hoe je een met AI gebouwde app exporteert en zelf hostt.
  • Met ontwikkelaars samenwerken. Een ontwikkelaar die bij je project komt, kan de hele app starten met één of twee commando's, in plaats van een dag te besteden aan het installeren van dingen.

Een alledaagse vergelijking: zeecontainers

Voordat er standaard zeecontainers waren, werd vracht stuk voor stuk geladen — zakken, vaten, kisten — en elke haven behandelde het anders. De standaard stalen container veranderde dat: één keer inpakken, en elk schip, elke kraan, trein of vrachtwagen kan hem verplaatsen zonder te weten wat erin zit.

Docker doet hetzelfde voor software:

  • Het Dockerfile is de paklijst en de instructies.
  • De image is de verzegelde, ingepakte container.
  • Een draaiende container is die doos aan het werk op een schip — hier een server.
  • Docker Engine is de kraan en het schip: de software op een server die weet hoe elke container gestart moet worden.

Hoe Docker werkt

OnderdeelWat het is
DockerfileEen tekstbestand met stap-voor-stap-instructies om de image te bouwen.
ImageEen alleen-lezen pakket: basis van het besturingssysteem, runtime, bibliotheken en je code.
ContainerEen draaiend exemplaar van een image, geïsoleerd van andere apps op dezelfde machine.
RegistryEen plek om images op te slaan en te delen, zoals Docker Hub of het registry van een cloudaanbieder.
Docker EngineDe achtergronddienst die images bouwt en containers draait. Gratis en open source.
Docker DesktopEen app voor Mac, Windows en Linux die de engine bundelt met een grafische interface.

Containers vs virtuele machines: een virtuele machine doet alsof hij een heel aparte computer is met een eigen besturingssysteem, dus hij is zwaar en traag om op te starten. Een container deelt de kernel van het besturingssysteem van de host en isoleert alleen de app en zijn bestanden, dus hij start meestal in seconden en gebruikt veel minder geheugen. Veel containers kunnen naast elkaar op één server draaien.

Een uitgewerkt voorbeeld: een kleine Python-API

Stel dat je AI-bouwer een Python FastAPI-backend voor een boekingsapp heeft gemaakt. De Dockerfile zou er zo uit kunnen zien:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Regel voor regel:

RegelWat het doet
FROM python:3.12-slimStart vanaf een officiële image waarin Python 3.12 al is geïnstalleerd.
WORKDIR /appWerk in de map /app in de container.
COPY requirements.txt . en RUN pip install ...Kopieer de lijst met bibliotheken en installeer ze.
COPY . .Kopieer de eigen code van de app erin.
EXPOSE 8000Noteer dat de app op poort 8000 luistert.
CMD [...]Het commando dat de webserver start wanneer de container draait.

In gewone woorden: ‘Start met Python 3.12. Installeer de bibliotheken die in requirements.txt staan. Kopieer de code erin. Start de webserver op poort 8000.’

Een ontwikkelaar (of een hostingplatform) draait dan twee commando's:

docker build -t booking-api .
docker run -p 8000:8000 booking-api

De eerste bouwt de image en geeft hem de naam booking-api. De tweede start een container en koppelt poort 8000 op de machine aan poort 8000 binnen de container. De API draait nu — op dezelfde manier als op elke server met Docker.

Let op wat er niet in de image zit: wachtwoorden en API-sleutels. Die worden meegegeven wanneer de container start, als omgevingsvariabelen, zodat dezelfde image met verschillende instellingen in testen en productie kan draaien.

Belangrijke begrippen

BegripBetekenis
ContainerEen geïsoleerd, draaiend pakket van een app en zijn afhankelijkheden.
ImageDe sjabloon waarvan een container wordt gestart.
BasisimageHet startpunt in de FROM-regel van een Dockerfile, zoals python:3.12-slim of node:22.
Laag (layer)Elke stap in een Dockerfile voegt een gecachete laag toe, wat herbouwen sneller maakt.
PoortkoppelingEen poort op de host koppelen aan een poort binnen de container.
VolumeOpslag die overleeft wanneer een container wordt vervangen. Containers zelf zijn wegwerpbaar.
Docker ComposeEen bestand dat beschrijft welke meerdere containers samen draaien, zoals een API plus een database.
KubernetesEen systeem om veel containers over veel servers te draaien. De meeste kleine apps hebben dat niet nodig.

Veelvoorkomende misverstanden

  • ‘Docker is een virtuele machine.’ Het is lichter: containers delen de kernel van de host.
  • ‘Gegevens die in een container zijn opgeslagen zijn veilig.’ Containers zijn bedoeld om weggegooid en vervangen te worden. Alles wat moet blijven bestaan — gebruikersgegevens, uploads — hoort in een database, bestandsopslag of een volume.
  • ‘Geheimen in de Dockerfile zetten is prima, want het is privé.’ Images worden gedeeld en naar registries gepusht. Geef geheimen pas tijdens het draaien mee.
  • ‘Docker maakt een app veilig.’ Isolatie helpt, maar een container met verouderde software en zwakke instellingen blijft kwetsbaar.
  • ‘Elke app heeft Docker nodig.’ Een statische site of een eenvoudige frontend wordt meestal gewoon als bestanden gehost, helemaal zonder container.
  • ‘Docker Desktop is voor iedereen gratis.’ De engine is gratis; Docker Desktop vereist volgens de voorwaarden van Docker een betaald abonnement voor grotere bedrijven.

Wat je aan je AI-appbouwer kunt vragen

  • ‘Heeft deze app een Dockerfile nodig? Zo ja, leg elke regel in gewone taal uit.’
  • ‘Gebruik een kleine, officiële basisimage en leg de taalversie vast.’
  • ‘Houd geheimen buiten de image. Lees ze tijdens het draaien uit omgevingsvariabelen.’
  • ‘Zorg dat uploads en gegevens in de database of bestandsopslag worden bewaard, niet in de container.’
  • ‘Voeg een Docker Compose-bestand toe zodat een ontwikkelaar de frontend, API en database lokaal met één commando kan draaien.’
  • ‘Voeg een health-check-eindpunt toe zodat de host kan zien of de API draait.’

Docker in Mythex

Je hoeft Docker niet te installeren of te draaien om Mythex te gebruiken. Je project draait in een privé cloud-sandbox, en wanneer je om een backend vraagt die een container nodig heeft — bijvoorbeeld C#, Java of een eigen Node- of Python-service — schrijft Mythex de app plus een Dockerfile, toont hij die in de sandbox en rolt hij die uit wanneer je publiceert, zonder dat je iets hoeft in te richten (hoe de techniek wordt gekozen). Met Pro kun je het project exporteren of synchroniseren met GitHub en de Dockerfile meenemen. Voor hoe backends en frontends samenwerken, zie frontend vs backend.

Veelgestelde vragen

Wat is Docker in simpele termen?

Docker is een tool die een app samen met alles wat hij nodig heeft om te draaien — de taalruntime, bibliotheken en instellingen — verpakt in een standaardeenheid die een container heet. De container draait op dezelfde manier op een laptop, een testserver of een cloudhost.

Wat is het verschil tussen een Docker-image en een container?

Een image is de verpakte, alleen-lezen sjabloon: de app en zijn afhankelijkheden, gebouwd vanuit een Dockerfile. Een container is een draaiende kopie van die image. Je kunt veel containers starten vanuit één image.

Is Docker een virtuele machine?

Nee. Een virtuele machine emuleert een hele computer met een eigen besturingssysteem. Containers delen het besturingssysteem van de hostmachine en isoleren alleen de app, dus ze starten sneller en gebruiken minder geheugen.

Is Docker gratis?

Docker Engine, de kern die containers draait, is gratis en open source. Volgens de voorwaarden van Docker per september 2026 is Docker Desktop gratis voor niet-commerciële open-sourceprojecten en voor bedrijven met minder dan 250 medewerkers en minder dan 10 miljoen dollar jaaromzet; grotere bedrijven hebben een betaald abonnement nodig.

Moet ik Docker leren om een app met AI te bouwen?

Meestal niet. Veel AI-bouwers regelen containers voor je. Het helpt wel om te weten wat een Dockerfile is, zodat je begrijpt hoe een backend wordt verpakt, en zodat je de app elders kunt draaien of hosten als je hem exporteert.

Mythex · Pricing · Bouw alles met AI · Website- en app-templates · Mythex vergeleken · Woordenlijst voor apps bouwen met AI · Gratis tools voor apps bouwen met AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)