Od zera do extension – cz. 3 Docker

W poprzednich dwóch częściach opowiedziałem Ci o tym czym jest Visual Studio Code oraz PowerShell dzisiaj nadszedł czas na kolejne narzędzie – Docker. Czym takim jest, jak go zainstalować i w czym może nam pomóc podczas pracy z Dynamics 365 Business Central (dawniej Dynamics NAV)? Postaram Ci się to pokrótce wyjaśnić.

Czym jest Docker?

Docker jest to międzyplatformowe narzędzie dla programistów i administratorów pozwalające umieścić program w „lekkim” kontenerze a następnie uruchomić go w izolowanym środowisku. Tak wiem – nic Ci to nie mówi dlatego ujmę to inaczej – Docker to alternatywa dla maszyny wirtualnej. 

Różnica polega na tym, że na hoście uruchamiamy izolowany kontener a nie emulowany system operacyjny. Dzięki temu nie tracimy zasobów maszyny na kolejne systemy operacyjne. Pliki z których składają się kontenery uruchamiane są bezpośrednio na naszym systemie operacyjnym. Skraca się także czas potrzebny do utworzenia nowego środowiska.

Czym jest obraz a czym jest kontener?

Obraz (image) to szablon zawierający minimalną ilość plików systemu operacyjnego, bibliotek i aplikacji potrzebnych do uruchomienia danej funkcji/aplikacji (bez GUI!). Kontener (Container) to uruchomiony obraz (image). Dynamics 365 Business Central w kontenerze to gotowy do uruchomienia zestaw plików zawierający pliki Business Cenetral i opcjonalnie SQL Server ora IIS.

Dynamics 365 Business Central – Docker Images

Zanim zainstalujemy oprogramowanie Docker i pobierzemy pierwszy obraz z Dynamics 365 Business Central chciałbym abyś wiedział jaki jest standard nazywania obrazów z Dynamics NAV i Business Central dostarczanych przez Microsoft.

Format nazwy

mcr.microsoft.com/businesscentral/sandbox:tag

Jako tag można podać:

-us” lub „-w1” – jako wersję językową

-13.1.25940.0” – jako konkretny build

-ltsc2019” – wersja kontenera oparatą o obraz bazowy systemu Windows Server 2019

Przykład:

mcr.microsoft.com/businesscentral/sandbox:13.1.25940.0-us-ltsc2019 – oznacza wersję z buildem 25940 w wersji US opartą na Windows Server 2019

Do poczytania:

Kontenery Business Central – sandbox

Kontenery Business Central – on premiss

Kontenery Dynamics NAV

Instalacja Docker dla Windows

Aby zainstalować Dockera należy pobrać wersję instalacyjną ze strony producenta. Niestety od niedawna wymagana jest rejestracja. Po zainstalowaniu i uruchomieniu należy wykonać jeden bardzo ważny krok – przełączyć się na kontenery Windows. Aby to zrobić należy kliknąć prawy przycisk na ikonie Docker w pasku Tray i wybrać opcję „Switch to Windows Containers”

Sprawdźmy czy Docker działa

Uruchom Visual Studio Code i stwórz plik docker.ps1. W pliku wpisz następującą treść:

1
2
3
docker version #wyświetla zainstalowaną wersję
docker run hello-world #pobiera obraz i uruchamia kontener oparty na tym obrazie (może to trochę potrwać)
docker ps -a #wyświtela listę wszystkich kontenerów

Wklejone linie uruchamiaj selektywnie (F8).

Na koniec pobierz obraz Dynamics 365 Busieness Central, który uruchomimy w kolejnym wpisie. Zajmuje to trochę czasu, dlatego zrób to już dziś. Wklej poniższe polecenie i uruchom.

1
docker pull mcr.microsoft.com/businesscentral/sandbox:base

Docker rozpocznie pobieranie twojego pierwszego obrazu Business Central. 

Podsumowanie

Temat Dockera potraktowałem nader lakonicznie. Niemniej na co dzień będziesz korzystać z gotowych obrazów i wiedza o tym jak tworzyć własne nie jest konieczna. W przeciwieństwie do zapoznania się z kilkoma podstawowymi komendami do których link znajduje się poniżej.

Aby uruchomić pobrany image wystarczy wpisać komendę:

1
docker run -e accept_eula=Y -m 4G mcr.microsoft.com/businesscentral/sandbox:base

Ale proszę Cię nie rób tego – już w kolejnym wpisie zaprezentuję Ci oficjalny skrypt PowerShell do zarządzenia kontenerami Dynamics 365 Business Central / Dynamics NAV. 

Do poczytania

Docker – podstawowe komendy

Starting with Docker for Windows

Docker – get started

Jedyne słuszne źródło wiedzy o NAV i Dokerze

Od zera do Extension – cz. 1 Visual Studio Code

Od zera do Extension – cz. 2 PowerShell

Od zera do Extension – cz. 4 Business Central Sandbox

Od zera do Extension – cz5. Pierwsze Extension

Zostaw odpowiedź

Twój adres e-mail nie zostanie opublikowany Wymagane pola są zaznaczone *