Lokale Docker Umgebung mit eigenem Image

19. Dezember 2019 12:49

Hallo,

ich bin recht bei bei der NAV Entwicklung und bin aktuell dabei eine Docker Umgebung zum lokalen Arbeiten zu bauen.
Da einige unsere Branchenlösungen noch in C/AL geschrieben wurden, kann ich leider nicht einfach auf die Standard MS Docker Images zurückgreifen, da die Branchenlösungen als Abhängigkeit für neue Extensions gebraucht werden in der Entwicklung.
Gibt es eine Möglichkeit von einem vorhandenen Produktivsystem, welches nicht auf Docker aufbaut, ein Docker-Image zu kreieren?

Viele Grüße
Alexander

Re: Lokale Docker Umgebung mit eigenem Image

19. Dezember 2019 13:22

Willkommen im Forum :)

Mit dem navcontainerhelper hast du mindestens 2 Möglichkeiten

1.
du kannst deine C/Side Objekte oder Delta Files in den Docker Container importieren (zbsp: https://blogs.msdn.microsoft.com/freddyk/2018/03/22/navcontainerhelper-setup-cside-development-environment-with-source-code-management/)


2.
Du kannst dem navcontainerhelper nen Datenbank Backup mitgeben.

Achtung: Im Docker selbst wird MSSQL Express benutzt, d.h. du kannst nur Datenbanken bis ca 10GB nutzen. Wenn du ne größere Datenbank hast musst du die Datenbank ausserhalb des NAV Containers verwalten.
Bei mir sieht das so aus:
Code:
IMAGE                                      NAMES
mcr.microsoft.com/dynamicsnav:2018-cu18    Dev
microsoft/mssql-server-windows-developer   DevDatabase

Re: Lokale Docker Umgebung mit eigenem Image

19. Dezember 2019 14:12

Ted hat geschrieben:2.
Du kannst dem navcontainerhelper nen Datenbank Backup mitgeben.


Hallo @Ted,
danke für deine Antwort und die Begrüßung :)
Bezüglich der zweiten Option...liegt dann der C/AL Code ebenfalls mit der in der Datenbank? Würde der DB Dump reichen, um eine 1:1 Copy des Produktivservers zu haben?
So tief bin ich in das Thema noch nicht eingestiegen, wo NAV den Code verwaltet.

Re: Lokale Docker Umgebung mit eigenem Image

20. Dezember 2019 10:33

algrue hat geschrieben:...liegt dann der C/AL Code ebenfalls mit der in der Datenbank?


Deine C/AL Objekte liegen auch in der Datenbank. Wenn du die also herstellst, stellst du damit auch den Objektstand her.

Re: Lokale Docker Umgebung mit eigenem Image

20. Dezember 2019 12:26

Ted hat geschrieben:
algrue hat geschrieben:...liegt dann der C/AL Code ebenfalls mit der in der Datenbank?


Deine C/AL Objekte liegen auch in der Datenbank. Wenn du die also herstellst, stellst du damit auch den Objektstand her.

Das klingt gut! Wie ist das mit den AL Extensions? Liegen die auch automatisch in der DB oder muss ich die, via Dockerfile, immer mit installieren beim deployen?