‫Als je op internet gaat zoeken naar een definitie van wat een container is, zie je
‫vaak mensen containers vergelijken met virtuele machines.
‫Toegegeven, er zijn enkele overeenkomsten, maar er zijn zoveel dingen die gewoon niet hetzelfde zijn.
‫Ik wil dat we een back-up maken en zeggen, laten we ze niet eens vergelijken met virtuele machines. Want eigenlijk zijn ze gewoon
‫een proces. Ze zijn een proces
‫dat wordt uitgevoerd op uw hostbesturingssysteem, in ons geval Linux. Laten we eens kijken, want het is supereenvoudig om het
‫concept te begrijpen dat eigenlijk slechts een beperkt proces is binnen ons hostbesturingssysteem en niets beters dan een virtuele machine.
‫Laten we een Mongo-database starten.
‫We gaan het mongo noemen. We gaan het op de achtergrond draaien.
‫En we gebruiken de Mongo-afbeelding.
‫Oke. We kunnen zien dat het draait en Docker heeft ook iets genaamd
‫docker top waarmee ik de processen kan opsommen die in een specifieke container worden uitgevoerd.
‫We zullen daar zien dat we een enkel proces hebben dat mongod wordt genoemd.
‫U kunt zien dat het PID is, wat de proces-ID is. Dat kunnen we ook vanuit de host doen. Omdat dit slechts een
‫proces is dat wordt uitgevoerd op ons
‫hostbesturingssysteem, zal elk hostprogramma dat ik zou gebruiken om naar processen te kijken, dit proces zien.
‫We kunnen bijvoorbeeld een proceslijst gebruiken. Ik ga ze allemaal op het systeem zetten. Je zult hier echt zien,
‫als ik zoek, een van hen heet mongod. Je zult zelfs merken dat het onder een andere
‫proces-ID draait dan de rest van het systeem.
‫En dat is alleen vanwege de beveiligingslagen waar we het over zullen hebben met de containers en hoe ze een beetje
‫anders zijn dan reguliere processen die op de host worden uitgevoerd.
‫We kunnen hier duidelijk zien dat dit een proces is op de host.
‫Het verbergt zich niet in een virtuele machine waartoe we geen toegang kunnen krijgen.
‫Het ligt daar voor ons.
‫Als ik deze container
‫stop, kun je een docker ps. Je zult zien dat het niet draait.
‫Je kunt een Docker Top Mongo doen.
‫Het gaat ons eigenlijk niets opleveren omdat de container niet draait.
‫En als we een ps aux doen, en we zoeken
‫opnieuw naar
‫mongo, dan zien we niets gemarkeerd in die lijst. Ik ben eigenlijk aan het zoeken in mijn terminal.
‫Een eenvoudigere manier om dit te
‫doen, is door ps aux te doen en vervolgens grep te gebruiken, een filterhulpmiddel dat door de uitvoer kijkt, en we kunnen het vertellen dat het moet zoeken naar het
‫woord mongo.
‫Het enige dat het daadwerkelijk gaat vinden, is het commando dat ik net voer om naar het woord mongo
‫te zoeken.
‫Het vermeldt dat. We zouden hier een
‫ander commando verwachten, een andere uitvoer
‫van een proces, als het inderdaad actief was. We kunnen weer opnieuw beginnen, docker start mongo, omdat die container er
‫nog was, alleen niet op
‫de achtergrond, een soort van gestopt proces. We kunnen weer een docker ps doen en hij draait weer.
‫We kunnen weer een Docker Top Mongo doen en zien dat er weer een proces in de container draait.
‫Het is net nieuw begonnen.
‫Het is pas zes seconden aan de gang, zoals we hier kunnen zien.
‫Als we een ps aux grep mongo doen, zul je zien dat ik nu echt het mongod-proces zie.