Wat is Docker?
Docker is een lightweight softwareoplossing voor containergebruik met een kern van Docker Inc. Door deze geavanceerde technologie te gebruiken, kan Synology nog meer pakketten naadloos op je NAS implementeren, zoals Redmine of Gitlab. Docker is een lichte virtualisatietoepassing waarmee je duizenden containers van internationale ontwikkelaars kunt uitvoeren op DSM. Met Docker Hub vind je gemakkelijk gedeelde toepassingen van andere getalenteerde ontwikkelaars.
De website van tech365 legt het nog beter uit: Docker is een open platform voor ontwikkelaars systeembeheerders voor het bouwen, uitrollen en aanbieden van applicaties. Hier komt het eigenlijk kort door de bocht op neer. Je bundelt een applicatie tot een zogenaamd Image en kunt dit vervolgen eenvoudig uitrollen en gebruiken binnen het Docker platform. Wanneer je zelf een image bouwt en deze blijkt goed te werken, dan kun je er vanuit gaan dat als ik het binnen Docker start, het net zo goed werkt.
Door afscheid te nemen van de afhankelijkheid van het besturingssysteem (windows, linux, etc.) kun je met Docker de focus leggen op het aanbieden van een toepassing. De systeembronnen die je hebt zijn volledig ter beschikking van de Docker apps en je hebt geen extra besturingssystemen nodig. Heb je Docker op je Synology NAS en op je eigen pc, dan kun je zonder problemen de applicaties delen.
Hoe werkt Docker?
Docker is een computerprogramma om het bestandssysteem van de computer te virtualiseren. Docker wordt gebruikt om softwarepakketten uit te voeren die ‘containers’ worden genoemd. Containers zijn geïsoleerd van elkaar door middel van containervirtualisatie, en bundelen hun eigen applicaties, tools, bibliotheken en configuratiebestanden; ze kunnen met elkaar communiceren via goed gedefinieerde kanalen.
Alle containers worden uitgevoerd door een enkele kernel van het besturingssysteem en zijn dus lichter dan virtuele machines (bron: wikipedia). De toepassing draait dus in een eigen container zodat de toepassing geïsoleerd is van je andere toepassingen. Door het toewijzen van poorten tussen de container en het besturingssysteem van de NAS kun je communiceren met de toepassing (binnen de container). Je hoeft alleen de poorten aan elkaar te koppelen en vervolgens weet de NAS hoe hij een opdracht aan de toepassing in de container kan aanbieden.
Hoe installeer ik een toepassing in Docker?
Docker kun je gewoon installeren vanuit het Package Center. Zoek op Docker en klik op installeren en uitvoeren na installatie. Vervolgens kom je in het hoofdmenu van Docker terecht. De overzichtspagina toont de containers die worden uitgevoerd. Maar voor je zover bent, moet je containers eerst installeren.
Mariushosting geeft uitstekende instructies hoe je een Docker toepassing moet installeren. Er zijn meerdere mogelijkheden, maar de meest intuïtief aansprekende methode is door gebruik te maken van de installatie mogelijkheden die Docker zelf biedt. Laten we als voorbeeld de installatie van WordPress nemen via Docker.
Ga naar het menu aan de linkerzijde van het overzichtsmenu en zoek op wordpress. Dubbelklik op het wordpress image en vervolgens gaat de NAS deze image laden. Wanneer de download klaar is, kun je het wordpress image gaan configureren. In de onderstaande plaatjes is te zien hoe je de instellingen kunt configureren. In mijn geval maak ik gebruik van een bestaande mariadb (ook in Docker).
Om de wordpress docker toepassing te laten communiceren met de mariadb toepassing moet wordpress weten waar deze de mariadb toepassing kan vinden (host), via welke poort deze te bereiken is, en vervolgens welke database gebruikt wordt om de data van wordpress in op te slaan. Uiteraard hoort daar ook de betreffende gebruikersnaam en het wachtwoord bij.
De omgevingsvariabelen (figuur 4) dragen ervoor zorg dat de configuratie juist is vastgelegd, zoals aanwijzingen hoe de koppeling tussen wordpress en mariadb dient te worden gelegd. Verder is het belangrijk om de poorten te configureren zodat de container applicatie van ‘buitenaf’, dus via het besturingssysteem van de NAS (linux), te benaderen is. Zo kun je WordPress gaan gebruiken vanuit je browser via het IP adres van de Synology NAS. Je hoeft dus niet eerst de container met de WordPress toepassing te openen.
Wanneer je alles hebt ingesteld, klik je op ‘opslaan’ en wordt de container opgebouwd. Afhankelijk van de internetverbinding en de snelheid van de NAS kan dit enkele minuten duren. Dit is eenmalig. De volgende keer opent WordPress razendsnel!
Vervolgens log je in door het IP-adres van de NAS in te tikken gevolgd door een dubbele punt en het poortnummer. Voorbeeld: http://192.168.1.218:8080. In dit voorbeeld is 192.168.1.218 het IP-adres van de NAS en is het poortnummer 8080 via welke de WordPress toepassing wordt aangeboden.
Vervolgens wordt de WordPress pagina geopend en kun je starten met het bouwen van je eigen website, gefaciliteerd door een Docker container in de NAS.
Meer informatie met heldere instructies zijn beschikbaar op mariushosting.com.