Docker er en open-source platform, som gør det muligt at bygge, distribuere og køre applikationer i containere. Containere er isolerede miljøer, som indeholder alt, hvad en applikation behøver for at køre, herunder kode, systemværktøjer, biblioteker og afhængigheder.
Docker giver mulighed for at pakke en applikation sammen med dens dependencies i en container, som kan køre på enhver platform, der understøtter Docker. Dette gør det nemmere at distribuere applikationer, da man undgår at skulle håndtere afhængigheder og versionskontrol på forskellige systemer, så vi oplever aldrig den gode gamle “men det virker på min maskine”.
Docker er også kendt for at være letvægts og hurtigt i forhold til traditionelle virtuelle maskiner. Det gør det muligt at køre flere containere på samme server uden at skulle bekymre sig om ressourceforbrug. Fordi den ikke skal håndtere styresystemer på hver container
Kort sagt, Docker kan hjælpe med at gøre applikationsudvikling og -distribution mere effektiv og fleksibel og er generelt en industristandart
Docker består af tre hovedelementer: Dockerfilen, Image og container.
Sammen gør disse tre komponenter det muligt at bygge, distribuere og køre applikationer i containere, hvilket gør det nemmere at distribuere applikationer og undgå afhængighedsproblemer på forskellige systemer. Se også følgende video "Docker in 100 Seconds" for en kort introduktion til Docker.
Et værktøj som gør Docker nemt at håndtere både på Windows og Mac med intel-chip er Docker-Desktop: https://www.docker.com/products/docker-desktop/ - Den giver både en GUI og adgang til Docker fra vores CLI.
Hvis man vil give sig i krig med Docker og at man aldrig har prøvet at konfigurere et Docker-miljø kan man følge video guiden her og lave en Node.JS applikation som bliver containeriseret “Learn Docker in 7 Easy Steps - Full Beginner's Tutorial”
Hvis man er mere til en tekstbaseret guide til at starte på Docker kan den her anbefales:
Get started with Docker apps in Visual Studio Code
En video som forklare hvorfor vi burde bruge Docker kan man se følgende
Vi prøver at introducere Docker tidligt på uddannelsen og vil rigtig gerne introducere konceptet allerede fra H1. Visual Studio støtter rigtig godt op omkring Docker, så længe man har installeret Docker Desktop på ens lokale maskine.
Vi bruger det blandt andet til vores Blazor applikationer, Node.JS server apps og API’er lavet med C#, Python eller JavaScript.