Docker is een tool die een applicatie samen met alles wat hij nodig heeft, zoals code, libraries en instellingen, in één verplaatsbare eenheid stopt die een container heet. Die container draait op dezelfde manier, ongeacht op wiens computer of server hij belandt.
Denk aan een zeecontainer. Voordat die bestond, betekende een schip laden dat je vaten, zakken en kratten in allerlei vormen het ruim in moest wurmen. De gestandaardiseerde stalen bak veranderde dat: wat er ook in zit, hij stapelt en vaart op dezelfde manier. Docker doet dit voor software en verpakt een rommelige mix van dependencies in een nette doos die elke container-host zonder verrassingen kan draaien. Het recept voor die doos staat in een klein tekstbestand dat een Dockerfile heet. Het noemt het basissysteem, de libraries en de commando’s om de app te bouwen, zodat iedereen in het team precies dezelfde opzet vanaf nul kan nabouwen.
Dat recept maakt het geheel ook herhaalbaar. Draai het vandaag, draai het volgend jaar, en je krijgt hetzelfde resultaat. Geen gezoek meer naar welke versie van welke library er toevallig op een server stond.
Dit is de praktische kern van containerisatie. Doordat de doos op zichzelf staat, beweegt dezelfde image schoon van een laptop naar een testserver naar productie, en daarom past Docker zo natuurlijk in een CI/CD-pijplijn. Als je veel containers tegelijk moet draaien, beheert een tool als Kubernetes de vloot, maar Docker is wat elke doos in de eerste plaats bouwt.
Bij TopDevs verpakken we applicaties van klanten in Docker, zodat uitrollen voorspelbaar is en een nieuwe omgeving binnen minuten draait in plaats van dagen.