Containerisering med Docker: hur det används i svenska DevOps-team
Docker har blivit en självklarhet i svenska DevOps-team. Det är ett verktyg som låter dig paketera din applikation och alla dess beroenden i ett standardiserat format – en container . I den här lektionen tittar vi på hur Docker används i praktiken, vilka fördelar det ger och vilka begrepp du behöver kunna för att…
Docker har blivit en självklarhet i svenska DevOps-team. Det är ett verktyg som låter dig paketera din applikation och alla dess beroenden i ett standardiserat format – en container. I den här lektionen tittar vi på hur Docker används i praktiken, vilka fördelar det ger och vilka begrepp du behöver kunna för att arbeta effektivt i ett modernt svenskt mjukvaruteam.
Vad är en container och varför är det bra?
En container är en lättviktig, isolerad miljö där din applikation körs. Tänk dig det som en förpackning som innehåller allt din app behöver: kod, bibliotek, konfiguration och rätt version av programmeringsspråket. Det löser ett klassiskt problem i mjukvaruutveckling: det fungerar på min dator. Med Docker beter sig applikationen likadant oavsett om den körs på din lokala laptop, i en testmiljö eller i produktion.
Image och container – skillnaden
En image (bild) är en mall som beskriver hur containern ska se ut. Den är oföränderlig och versionshanteras, ofta via ett register som Docker Hub eller ett privat container-register i molnet. En container är en körande instans av en image – det är den faktiska processen som körs på servern.
Svenska team skapar sina images med hjälp av en Dockerfile – en textfil med instruktioner om hur imagen ska byggas. Varje instruktion skapar ett lager (layer) i imagen. Lager-systemet gör att delar av imagen kan återanvändas och cachelagras, vilket gör builds snabbare.
Docker Compose för lokal utveckling
I de flesta projekt behöver din applikation samarbeta med flera andra tjänster – en databas, en cache, en meddelandekö. Docker Compose är ett verktyg som låter dig definiera och starta alla dessa tjänster tillsammans i en enda konfigurationsfil, docker-compose.yml.
I ett typiskt svenskt utvecklingsprojekt kör man docker compose up i terminalen och får omedelbart en komplett lokal miljö med applikationen, PostgreSQL och Redis igång. Det gör det extremt enkelt för en ny teammedlem att komma igång utan att behöva installera beroenden manuellt.
Container-orkestration med Kubernetes
När man driftsätter containers i produktion räcker ofta inte Docker ensamt. Stora svenska team använder Kubernetes (förkortat K8s) för att hantera, skala och övervaka sina containers. Kubernetes automatiserar driftsättning, belastningsbalansering och självläkning – om en container kraschar startar Kubernetes automatiskt en ny.
Många svenska företag kör Kubernetes på molnplattformar som Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS) eller AWS Elastic Kubernetes Service (EKS). Det minskar behovet av att underhålla underliggande infrastruktur och låter teamet fokusera på applikationen.
Säkerhet i container-miljöer
Containers är inte per automatik säkra. I svenska team diskuteras container-säkerhet allt mer, framför allt i branscher med höga säkerhetskrav. Viktiga principer inkluderar att använda minimala basimages (till exempel Alpine Linux), att inte köra containers som root-användare, och att regelbundet skanna images för kända säkerhetsbrister med verktyg som Trivy eller Snyk.
Docker i CI/CD-pipelinen
I ett modernt DevOps-flöde byggs en Docker-image automatiskt varje gång ny kod pushas till main-branchen. Imagen testas, taggeras med ett versionsnummer och pushas till ett container-register. Därifrån plockas den upp av Kubernetes eller en annan orkestreringsplattform och driftsätts i rätt miljö – utan manuella steg. Det här mönstret kallas continuous delivery och är standard i välfungerande svenska DevOps-team.
Complete this lesson
Track progress locally on this device.