Docker Introduksjon: Kom i gang med å containerisere applikasjonen din

2/18/2026
6 min read

Docker Introduksjon: Kom i gang med å containerisere applikasjonen din

Docker har blitt en uunnværlig del av moderne programvareutvikling og distribusjon. Selv om diskusjonen rundt Kubernetes er overveldende, er Docker fortsatt det foretrukne verktøyet for mange selskaper for å bygge, teste og distribuere applikasjoner. Denne artikkelen vil gi deg en rask introduksjon til Docker, forstå kjernekonseptene og gi et praktisk eksempel for å hjelpe deg med å komme i gang med å containerisere applikasjonen din.

Docker Kjernekonsepter

Før du begynner å praktisere, er det viktig å forstå noen av Docksers kjernekonsepter:

  • Image (Bilde): Et bilde er en skrivebeskyttet mal som inneholder alt som trengs for å kjøre en applikasjon: kode, kjøretidsmiljø, systemverktøy, biblioteker og avhengigheter. Ligner på et virtuelt maskinbilde, men lettere.

  • Container (Container): En container er en kjørende instans opprettet fra et bilde. Det er en kjøretidsinstans av et bilde som inneholder applikasjonen og alle dens avhengigheter. Containere er isolert fra hverandre og har sine egne filsystemer, prosesser og nettverksrom.

  • Docker Hub: Docker Hub er et offentlig bildelager hvor du kan laste ned forhåndsbygde bilder eller laste opp dine egne bilder. Ligner på GitHub, men spesielt for Docker-bilder.

  • Dockerfile: En Dockerfile er en tekstfil som inneholder alle instruksjonene for å bygge et Docker-bilde. Ved å skrive en Dockerfile kan du automatisere prosessen med å lage bilder.

  • Docker Compose: Docker Compose er et verktøy for å definere og kjøre Docker-applikasjoner med flere containere. Det lar deg konfigurere applikasjonens tjenester ved hjelp av en YAML-fil, og deretter starte eller stoppe alle tjenester med en enkelt kommando.

Docker Installasjon

Først må du installere Docker. Docker tilbyr installasjonspakker for forskjellige operativsystemer. Besøk Docker offisielle nettsted og følg de tilsvarende instruksjonene for å installere.

Etter installasjonen kan du kjøre docker --version-kommandoen for å bekrefte at Docker er riktig installert.

Containerisere en enkel Python-applikasjon

Vi vil lage en enkel Python-applikasjon og bruke Docker til å containerisere den.

1. Opprett Python-applikasjon

Opprett en fil som heter app.py som inneholder følgende kode:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, Docker!"

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0')

Denne enkle Flask-applikasjonen vil returnere "Hello, Docker!" på rotstien /.

2. Opprett requirements.txt-fil

Applikasjonen er avhengig av Flask-biblioteket, og vi må opprette en requirements.txt-fil for å deklarere disse avhengighetene.

Flask

3. Opprett Dockerfile

Opprett en fil som heter Dockerfile og legg til følgende innhold:

# Bruk det offisielle Python-bildet som basisbilde
FROM python:3.9-slim-buster

# Sett arbeidsmappen
WORKDIR /app

# Kopier requirements.txt-filen til arbeidsmappen
COPY requirements.txt .

# Installer avhengigheter
RUN pip install --no-cache-dir -r requirements.txt
# Kopier applikasjonskoden til arbeidsmappen
COPY app.py .

# Eksponer port 5000
EXPOSE 5000

# Definer startkommandoen
CMD ["python", "app.py"]

Dockerfile Forklaring:

  • FROM python:3.9-slim-buster: Spesifiserer basisimaget som en slank versjon av Python 3.9.
  • WORKDIR /app: Setter arbeidsmappen i containeren til /app.
  • COPY requirements.txt .: Kopierer requirements.txt-filen fra gjeldende mappe til /app-mappen i containeren.
  • RUN pip install --no-cache-dir -r requirements.txt: Kjører pip-kommandoen i containeren for å installere avhengighetene spesifisert i requirements.txt-filen. --no-cache-dir-parameteren kan redusere størrelsen på imaget.
  • COPY app.py .: Kopierer app.py-filen fra gjeldende mappe til /app-mappen i containeren.
  • EXPOSE 5000: Deklarerer at containeren vil lytte på port 5000.
  • CMD ["python", "app.py"]: Definerer kommandoen som skal kjøres når containeren starter.

4. Bygg Docker-imaget

I mappen som inneholder Dockerfile, kjør følgende kommando for å bygge Docker-imaget:

docker build -t my-python-app .
  • docker build: Kommandoen for å bygge imaget.
  • -t my-python-app: Spesifiserer et navn for imaget (my-python-app).
  • .: Spesifiserer mappen der Dockerfile er plassert (gjeldende mappe).

Byggeprosessen kan ta litt tid, avhengig av nettverkshastigheten og størrelsen på avhengighetene.

5. Kjør Docker-containeren

Bruk følgende kommando for å kjøre Docker-containeren:

docker run -d -p 5000:5000 my-python-app
  • docker run: Kommandoen for å kjøre containeren.
  • -d: Kjører containeren i frittliggende modus (kjører i bakgrunnen).
  • -p 5000:5000: Mapper port 5000 på verten til port 5000 i containeren.
  • my-python-app: Spesifiserer navnet på imaget som skal brukes.

6. Verifiser applikasjonen

Besøk http://localhost:5000 i en nettleser, og du skal kunne se "Hello, Docker!".

7. Stopp og slett containeren

Bruk følgende kommando for å stoppe containeren:

docker stop 

`` kan sees ved hjelp av docker ps-kommandoen.

Bruk følgende kommando for å slette containeren:

docker rm 

Komme i gang med Docker Compose

Hvis applikasjonen din består av flere tjenester, kan du bruke Docker Compose til å administrere dem.

1. Opprett docker-compose.yml-filen

Opprett en fil med navnet docker-compose.yml, og legg til følgende innhold:

version: "3.9"
services:
  web:
    image: my-python-app
    ports:
      - "5000:5000"

docker-compose.yml Forklaring:* version: "3.9": Spesifiserer versjonen av Docker Compose-filen.

  • services: Definerer applikasjonens tjenester.
  • web: Definerer en tjeneste kalt "web".
  • image: my-python-app: Spesifiserer imaget som tjenesten bruker.
  • ports: Definerer portmapping.

2. Start applikasjonen

I katalogen som inneholder docker-compose.yml-filen, kjør følgende kommando for å starte applikasjonen:

docker-compose up -d
  • docker-compose up: Kommandoen for å starte applikasjonen.
  • -d: Kjører containeren i detached mode (i bakgrunnen).

3. Stopp applikasjonen

Bruk følgende kommando for å stoppe applikasjonen:

docker-compose down

Docker Sikkerhet Beste Praksis

Som det fremgår av diskusjonen, er sikkerheten til Docker-imagene et viktig tema. Her er noen beste praksiser for Docker-sikkerhet:

  • Bruk offisielle imagene: Bruk offisielt tilgjengelige imagene så mye som mulig, da disse vanligvis er sikkerhetsskannet og vedlikeholdt.
  • Skann imagene for sårbarheter: Bruk verktøy som Trivy for å skanne imagene for kjente sårbarheter, og oppdater imagene regelmessig.
  • Bruk prinsippet om minste privilegium: Unngå å kjøre containere som root-bruker.
  • Begrens containerressurser: Bruk cgroups for å begrense containerens CPU- og minnebruk.
  • Oppdater imagene regelmessig: Hold imagene oppdatert for å fikse sikkerhetshull.
  • Bruk sikkerhetsskanningsverktøy: Verktøy som Snyk, Clair osv. kan integreres i din CI/CD-prosess for automatisk å skanne imagene for sårbarheter.

KonklusjonDenne artikkelen gir en rask innføring i Docker, og dekker kjernekonsepter, installasjonstrinn og et enkelt Python-applikasjonseksempel for containerisering. Ved å lære disse grunnleggende kunnskapene kan du begynne å bruke Docker til å bygge, teste og distribuere applikasjonene dine. Husk at sikkerhet er avgjørende, og du bør alltid være oppmerksom på sikkerheten til Docker-images og ta passende tiltak for å beskytte applikasjonene dine. Selv om Kubernetes er kraftig for storskala containerorkestrering, er Docker fortsatt en enkel og effektiv løsning i mange scenarier. Ved å mestre Docker vil du være bedre rustet til å møte utfordringene med moderne programvareutvikling og distribusjon.

Published in Technology

You Might Also Like