DOCKER

Wat doet Docker?

Docker is een open source tool voor applicatie packaging in containers. In basis maak je dus containers aan met Docker. Docker maakt gebruik van zogenaamde Linux containers (LCX) welke het zelfde OS draait als de host. Op deze wijze is een container in staat om host OS systeem resources te delen.

Daarnaast gebruikt Docker een eigen filesysteem dat onder andere ook het netwerkverkeer regelt. Docker leunt op Linux technologieën en daarom is Microsoft driftig bezig om gelijksoortige koppelingen aan te bieden, zodat containers van Docker ook op Windows server kunnen draaien.
Docker beschikt daarnaast over een zogenaamde Docker Hub, een containerregister dat is ontwikkeld om te gebruiken met specifieke programma’s zoals MongoDB, Redis etc

Wat zijn containers

Je kunt een container beschouwen als een vorm van virtualisatie voor het operating system. De meeste mensen maken bij het denken aan de term virtualisatie de link naar hardware waarbij met gebruik van een software hypervisor een server in verschillende virtuele machines kan worden opgedeeld. Container technologie daarentegen virtualiseert het operating system en koppelt applicaties los van het onderliggende OS.

Hypervisors consumeren storage ruimte voor iedere virtuele instance. Containers daarentegen gebruiken een vast deel storage ruimte, de omvang van de applicatie, met daarbij een set delta’s waardoor ze dus veel efficiënter zijn in het gebruik van opslagruimte in vergelijking met een virtuele machine.

Wat is het voordeel van containers ?

De meest belangrijke voordelen liggen bij de snelheid en de eenvoud van het (ver)plaatsen. Een container wordt dikwijls omschreven als “lightweight” omdat er geen operating system hoeft te worden opgestart. Een container is na het opstarten binnen een halve seconde klaar voor gebruik en creëert daarmee nieuwe ontwikkelmogelijkheden voor het snel kunnen opschalen. Dit in tegenstelling tot hypervisors die afhankelijk van het OS en de #storage na zo’n 20 seconden beschikbaar zijn.

Een ander voordeel is het eenvoudig kunnen (her)plaatsen van een container. Een container werkt in een virtuele machine een fysieke server of in een publieke of on-premise cloud, flexibiliteit in optima forma dus.

Is een container nieuwe technologie ?

Nee, een container an sich is geen nieuwe techniek. De hype op dit ogenblik concentreert zich rond Linux gebaseerde containers welke al enkele jaren bestaan. Containertechnologie op Unix basis bestaat zelfs al sinds de jaren negentig en Oracle/SUN heeft in het verleden een dergelijk concept ( een equivalent genaamd Zones ) in de markt gezet. Nieuwe container ontwikkelingen spitsen zich onder andere toe op een cloud gebaseerde “container native infrastructure” en standaard container support in Windows server 2016.

Waarom zijn containers een hype ?

Sinds de enorme vlucht in ontwikkeling van social, mobile en web-scale apps zijn containers de tool van de applicatieontwikkelaars. Tegelijkertijd is een deel van de hype ontstaan door de aandacht voor- en ontwikkeling van een bedrijf genaamd Docker. Docker is succesvol in het vercommercialiseren van een open source project met dezelfde naam dat applicatie uitrol automatiseert middels een container. Omdat de interesse voor containers groeit maken bedrijven als Docker het eenvoudiger om containers in te zetten.

Vervangen containers virtuele machines ?

Het antwoord op deze vraag is afhankelijk aan wie je de vraag stelt. De een geeft aan dat containers een betere oplossing zijn om applicaties te draaien in vergelijking tot het draaien van een applicatie op een virtuele machine. De ander wijst op het voordeel dat in een omgeving met meerdere operating systemen de inzet van virtuele machines flexibeler is. Daarnaast is er een afhankelijkheid van de applicatie op zich. In sommige omstandigheden heeft een ontwikkelaar liever een dedicated virtuele machine, of zelfs een fysieke server om zijn applicatie te draaien.

Feit is dat Docker vereist dat al je containers hetzelfde onderliggende besturingssysteem gebruiken. Dat betekent bijvoorbeeld dat je Windows en Linux apps niet op dezelfde server kunt draaien.

Containers hebben net als virtuele machines hun plek in het Software Defined Datacenter. In het geval van Docker kunnen ontwikkelaars hun specifieke ontwikkeltools naar keuze benutten terwijl de IT beheerders binnen het Software Defined Datacenter kunnen voorzien in de meest efficiënte en flexibele infrastructuur voor de Docker containers.

Eigenlijk zijn containers en virtuele machines complementair. De een is het best in het alloceren van hardware bronnen, de ander opereert op het proces niveau wat hen ideaal maakt als een eenheid voor software delivery.

Bekijk hier de video

Baruch ICT verzorgt trainingen en seminars voor o.a.:

  • Salt Stack
  • Docker
  • Kubernetes
  • Ansible
  • Puppet
  • Kopano
  • . . . .  en nog veel meer

Hierin geven we een duidelijk beeld wat het product is en wat je er mee kunt.

Tijdens onze maandelijkse TEQ!’s worden technische onderwerpen aangegrepen om kennisdeling tot een succes te maken.
Ook graag een keer bij een TEQ! bijwonen?

Dat kan, meldt je aan via deze link.