Container
Een container is een soort draagbare mini-computeromgeving waarin software draait. Niet letterlijk natuurlijk, maar qua effect wel: alles wat je applicatie nodig heeft (de code, configuraties, libraries en afhankelijkheden) zit netjes ingepakt in één virtueel pakketje. Dat pakketje kun je vervolgens op elke server of laptop draaien.
Inhoudsopgave
De charme van containers
Voor wie denkt: klinkt als een virtuele machine? Bijna, maar containers zijn veel lichter en sneller. Een virtuele machine bootst een compleet besturingssysteem na, met alles erop en eraan. Een container gebruikt het besturingssysteem van de hostmachine, waardoor het opstarten in seconden gaat in plaats van minuten. Handig dus voor moderne applicaties die schaalbaar, flexibel en cloud-ready moeten zijn.
De helden achter je container
Als je het over containers hebt, zeg je eigenlijk ook meteen Docker. Docker is het bekendste platform om containers te maken en beheren. Met een simpel configuratiebestand (Dockerfile) omschrijf je wat er in je container moet zitten. Denk aan een webserver, een database, je appcode: alles netjes gedefinieerd.
En dan is er nog Kubernetes. Dat is het systeem dat containers op grote schaal beheert, verspreid over meerdere servers. Kubernetes zorgt dat alles blijft draaien, automatisch herstart als er iets crasht, en schaalt op wanneer het druk wordt. Zie het als een slimme orkestleider voor je hele container-orkest.
Containers geven rust
Stel je voor: jij bouwt een applicatie op je laptop en hij draait perfect. Maar zodra je collega of het staging-systeem ermee aan de slag gaat, valt alles om. Herkenbaar? Containers lossen dit op. Ze garanderen dat de omgeving overal hetzelfde is (van ontwikkeling tot productie).
Bovendien zijn containers ideaal voor CI/CD (Continuous Integration/Continuous Deployment). Ze maken het makkelijk om automatisch te testen, uit te rollen en terug te draaien. En dat alles zonder dat je hele infrastructuur overhoop hoeft.
Veelgestelde vragen
Een container deelt het besturingssysteem van de host en is daardoor veel lichter en sneller dan een virtuele machine, die een volledig besturingssysteem bevat.
Docker is een platform waarmee je containers kunt bouwen, draaien en beheren. Het maakt het makkelijk om software en alle bijbehorende onderdelen te verpakken in één container.
Je hebt een container-engine nodig, zoals Docker, en een paar basisbestanden (zoals een Dockerfile) waarin je beschrijft wat er in de container moet zitten.
Zeker! Sterker nog, dat is heel gebruikelijk. Met tools zoals Docker Compose of Kubernetes kun je meerdere containers combineren tot een complete applicatieomgeving.