DDC NAV 10 januari 2018 - Using docker in your daily work

Woensdag, 10 januari 2018, door Tobias Fenster

De presentatie van NAV on Docker werd gehouden door Tobias Fenster van Axians Infoma. Tobias kwam mij bekend voor. Hij gaf ook de NAV Docker sessie op NAV Tech Days 2017. De sessie van Tobias op NAV Tech Days is de voorloper van deze sessie en zeer de moeite waar om te kijken. Volg Tobias ook op twitter https://twitter.com/TobiasFenster voor updates m.b.t. NAV op Docker. Deze sessie was bedoelt om, nadat je Docker hebt geïnstalleerd, de NAV images te beheren en te finetunen.

Agenda

De agenda bestond uit drie onderdelen. Starten van de images, hoe werkt een database op Docker en hoe kunnen we de image aanpassen zodat ons eigen maatwerk wordt meegenomen. Waarbij het aanpassen van de Image zeker mijn interesse heeft.

Starten van Image

Ikzelf ben ook bezig geweest met de Docker images, maar liep hierbij tegen rare foutmelding aan. Een deel van mijn problemen waren terug te leiden naar het gebruik van Windows 10 i.p.v. Windows Server. Op dit moment gaat de voorkeur uit naar het gebruik van Docker op Windows Server. Docker Windows 10 is nog niet stabiel genoeg. Dit was ook mijn probleem, Bij het starten van de image kreeg ik de foutmelding “Storage error”, en de run hierna kreeg ik de foutmelding “Memory Error”. Er zijn dus zeker Do’s en Dont’s.
Gelukkig heeft Tobias meer ervaring en hebben we geen van deze issues gezien. Het starten van een Docker Image duurde ongeveer 30 seconden. Na het starten, heb je de beschikking over een complete NAV omgeving inclusief een SQL server. Door de link te gebruiken die wordt aangemaakt door Docker, zit je 5 seconden later in de Web Client van de Image.
Tijdens de presentatie gaf Tobias de tip om Portainer (https://portainer.io/) te gebruiken om je Docker Images te beheren.


 

Hoe werken databases in een Docker Image

Hoe werken databases in een Docker Image? Aangezien je de image steeds opnieuw opstart, zou je verwachten dat de gewijzigde bestanden/data verdwenen is. In basis is dit ook zo. Om dit probleem op te lossen, heeft Docker de mogelijkheid om gebruik te maken van Layers. De Image zit in de basis laag en is read-only. Op het moment dat er aanpassingen worden gemaakt, die niet beschikbaar zijn in de basis laag,  worden deze in een laag opgeslagen die bovenop de basis laag ligt.

Wil je nu toch dat je data bewaard blijft na een het stoppen/starten van een image, dan is er de mogelijkheid tot het creëren van Volumes. Hiermee maak je een mapping naar een map op de schijf van de Host. Deze data blijft bewaard, zelfs als de image wordt verwijderd.

Tevens is het mogelijk om de image zo aan te passen dat deze niet naar de database in de Image kijkt, maar naar je eigen Database.

Docker Image aanpassen

Als laatste het onderdeel waar ik naar uitkeek. Het aanpassen van de Image. Het is leuk om een basis image te hebben van een bepaalde Cumulatieve Update van NAV. Maar je eigen objecten erin, of gebruik maken van je eigen Databases, spreekt mij meer aan.
Met een aantal (extra) parameters in een bestand in een map in de gekoppelde volume, is het mogelijk om instellingen te wijzigen, zoals het activeren van de debugger. Of het uitzetten van het printen naar PDF. Wil je je eigen Add-In geinstallerd hebben? Plaats een .zip in de container en voeg zoiets als onderstaand toe aan een script.
–e folders='c:\run\my=https://myserver/myscripts.zip\scripts; c:\program files\microsoft dynamics nav\110\service\addins=https://myserver/myscripts.zip\add-ins
Na je eventuele aanpassingen is mogelijk om een nieuwe image te maken. Ook hier zijn natuurlijk weer verschillende mogelijkheden. Doe je een update van de huidige image, maak je een nieuwe. Of heb je al een repository waar je de aanpassingen kan opslaan.

Conclusie

Het viel mij op dat Docker op het gebied van Windows/NAV nog redelijk in de kinderschoenen staat, maar veel potentieel heeft. Microsoft zwaar inzet op Docker en ook vanuit zijn werknemers veel support krijgt. Microsoft onderhoud navcontainerhelper als een PowerShell module. Microsofts FreddyK discussieert vaak mee op twitter over het onderwerp. Je kan verzoeken indienen welke ontwikkelingen je graag in de Image zou willen zien. Als het over Powershell gaat, dan mag Waldo niet ontbreken.

De meeste zaken m.b.t. Docker zijn zonder GUI, hierdoor zag Portainer (https://portainer.io/) er erg interessant uit. Een Docker Image om Docker Images te beheren. Het aanpassen van de Image naar je eigen smaak, altijd leuk. Ik ga hier zeker tijd in steken om te kijken hoe dit werkt. Maar op dit moment net even teveel buiten mijn comfort zone.

Als laatste Voor alle Do en Don’t, voorbeelden is het raadzaam om de PowerPoint presentatie van Tobias te bekijken. Voordat je dit doet, raad ik aan de video presentatie van NAV Tech Days 2017 over Docker te bekijken.

Verslaggever: Guido Robben
Foto's: Vincent van Rens

« Naar het overzicht

Events

20 juni 2018 - DDC Jaarevent 20 juni 2018
MeetinOffice De Bleek 13 3447 GV Woerden Nederland
Datum: 20 juni 2018
Meer informatie »

17 april 2018 - NAV Event,17 april 2018
Van der Valk Hotel Tiel Laan van Westroijen 10 4003 AZ Tiel
Datum: 17 april 2018
Meer informatie »

21 februari 2018 - AX event, 21 februari 2018
Quadira, Pater van den Elsenlaan 45-47, 5462 GG Veghel
Datum: 21 februari 2018
Meer informatie »


Nieuws

Dutch Dynamics Community - Nieuwsflits * Juni 2018 * 2
18 juni 2018
Lees bericht »

Dutch Dynamics Community - Nieuwsflits * Juni 2018
08 juni 2018
Lees bericht »

Dutch Dynamics Community - AX * Nieuwsflits * Mei 2018
25 mei 2018
Lees bericht »


Blog

DDC NAV-avond Tiel 17 april 2018
17 april 2018
Lees blog »

DDC NAV 17 april 2018 - AVG/GDPR en Dynamics NAV
17 april 2018
Lees blog »

DDC NAV 17 april 2018 - Dynamics NAV 2018 API – out of the box
17 april 2018
Lees blog »

Wat is de Dutch Dynamics Community?

Ons doel is het delen van kennis en ervaringen rondom Microsoft Dynamics software.

We bieden de mogelijkheid aan alle Microsoft Dynamics Professionals om met elkaar in contact te komen en deel te nemen aan presentaties en discussies.

Laagdrempelig, onafhankelijk, diepgaand en altijd actueel.

Om iedereen op de hoogte te houden kun je je inschrijven voor een van onze nieuwsbrieven:

Schrijf je hier in voor de NAV nieuwsbrief

Schrijf je hier in voor de AX nieuwsbrief

Platinum sponsors


Gold sponsors

 

Sapphire sponsors


Silver sponsors


Club van 100

c100