IT og digitalisering

Docker-images: Fra Docker Hub til dine egne containere

Docker-images er fundamentet for containerbaseret udvikling. Lær hvordan præ-byggede images, egne builds og orkestrering hænger sammen i moderne DevOps-miljøer.


Mange udviklere starter med at hente et image fra Docker Hub. Med få kommandoer kan du starte en database, en webserver eller et helt udviklingsmiljø.

Men så snart du selv skal bygge images, håndtere volumes og deploye containere på tværs af miljøer, bliver Docker hurtigt mere komplekst.

At forstå, hvordan Docker-images fungerer, er derfor en vigtig del af moderne DevOps-arbejde.

Hvad er et Docker-image?

Et Docker-image er en skabelon, der indeholder alt det, en applikation skal bruge for at køre:

  • runtime-miljø
  • biblioteker og afhængigheder
  • konfiguration og miljøvariabler.

Når et image startes, bliver det til en container – et isoleret miljø hvor applikationen kører uafhængigt af værtssystemet.

Det betyder, at applikationen kan køre på samme måde i udvikling, test og produktion. Dermed undgår man det klassiske problem:

"Men det virkede jo på min maskine."

Images er opbygget af lag

Docker-images er designet til at være genanvendelige og distribuerbare. Det betyder, at et image kan oprettes én gang og derefter bruges på mange forskellige systemer uden behov for yderligere konfiguration.

Docker-images er opbygget i lag. Hver instruktion i en Dockerfile opretter et nyt lag i imaget.

Denne struktur gør det muligt for Docker at cache eksisterende lag, så builds kan genbruge tidligere trin og dermed blive langt hurtigere.

Lagstrukturen gør også images:

  • genanvendelige
  • versionsstyrede
  • effektive at distribuere.

Når et image er oprettet, ændres det ikke. Hvis du har brug for at ændre et eksisterende Docker-image, opretter du typisk en ny version af det pågældende image med de nødvendige ændringer. Dette understøtter best practices for immutable infrastruktur, hvor opdateringer rulles ud gennem nye versioner af appen, fremfor at ændre i eksisterende installationer. 

Brug af præ-byggede images

Docker Hub og andre registries indeholder tusindvis af færdigbyggede images til populære værktøjer som MySQL, Node.js og Redis.

Ved at bruge præ-byggede images kan du hurtigt starte et miljø uden først at installere og konfigurere al software. Eftersom du bygger oven på eksperternes svar på, hvordan en given applikation (MySQL eller lign) skal bygges og køres, kan du koncentrere dig om det, din applikation skal kunne.​​

Det sikrer også konsistens. Når hele teamet arbejder med samme base image, reduceres risikoen for forskelle mellem udviklings- og produktionsmiljøer.

I praksis bruger mange teams disse images som udgangspunkt og bygger deres egne images ovenpå.

Præ-byggede images er desuden ideelle for CI/CD pipelines (Continuous Integration og Continuous Deployment), hvor automatiseret testing og deployment er essentielt. Docker-images kan nemt integreres i disse pipelines, så releases kommer hurtigt og ikke mindst sikkert ud over stepperne.

Byg dine egne images

Du kan også vælge at tilpasse og udvide præ-byggede imagesfor at passe til mere specifikke behov: 

Du kan bruge et præ-bygget image som grundlag og tilføjer dine egne konfigurationer eller applikationer ovenpå. Dette gøres typisk gennem en Dockerfil, hvor du specificerer, hvilke ekstra trin der skal tages, som fx installation af ekstra pakker eller indstilling af en eller flere miljøvariabler. 

Når du bygger dine egne Docker-images, bruger du typisk en Dockerfile til at beskrive:

  • hvilket base image der bruges
  • hvilke pakker der installeres
  • hvordan applikationen startes

Det gør det muligt at skabe et standardiseret miljø til udvikling, test og deployment.

Når et image er bygget, kan det gemmes i et registry – fx Docker Hub eller et privat registry – så det kan genbruges og deles i organisationen.

Som udvikler kan det være en god idé at gøre sig bekendt  at anvende og tilpasse præ-byggede Docker-images fra fx Docker Hub, fordi det kan være med til at effektivisere udviklingsprocessen. 

Kursus

DevOps Tools: Docker and Kubernetes for developers

This two-day course takes you through building, integrating and running containers. You will learn how Docker and Kubernetes work and how to reach maximum benefit of these new DevOps technologies.

Kursus

DevOps Tools: Docker and Kubernetes for developers

This two-day course takes you through building, integrating and running containers. You will learn how Docker and Kubernetes work and how to reach maximum benefit of these new DevOps technologies.

Læs mere:

Tema

IT og digitalisering

Se IDAs tilbud IT-arkitektur, cybersikkerhed, UX, UI, AI og machine learning, programmering og softwareudvikling, datascience, compliance og datasikkerhed.

Tema

Kursusoversigt

Få adgang til et bredt udvalg af kurser hos IDA, skræddersyet til STEM-uddannede. Sikr din markedsværdi og udvikl dine kompetencer hele karrieren

Kontakt

Få hjælp nu

Find relevante, kvalitetssikrede kurser og efteruddannelse.