Guides

Hvad er Docker? Containere forklaret for ikke-udviklere

Docker er et værktøj, der pakker en app sammen med alt, den har brug for at køre — den rigtige sprogversion, biblioteker, systemværktøjer og indstillinger — i en standardenhed kaldet en container. En container kører på samme måde på en udviklers laptop, en testserver eller en cloud-host, hvilket får en af de klassiske "men det virkede på min maskine"-problemer til at forsvinde. Opskriften til at bygge en container er en kort tekstfil kaldet en Dockerfile.

Hvorfor Docker betyder noget, når du bygger med AI

Hvis din app har en backend — en API i Python, Node, C# eller Java — skal den køre et sted, hvor præcis den rigtige software er installeret. Docker er den mest almindelige måde at gøre det gentageligt på.

  • Udrulning af backends. Mange hosts, herunder Mythex, udruller backends ved at bygge en container ud fra en Dockerfile. I Mythex giver det at bede om "en C#-webAPI" eller "en Java-backend" appen plus en Dockerfile, og Udgiv bygger imaget og udruller det (API-backends).
  • At forlade en platform. Hvis du eksporterer en AI-bygget app, gør en Dockerfile det meget nemmere at køre den på en anden host. Se sådan eksporterer og selv-hoster du en AI-bygget app.
  • At arbejde med udviklere. En udvikler, der kommer til dit projekt, kan starte hele appen med en eller to kommandoer i stedet for at bruge en dag på at installere ting.

En hverdagsanalogi: fragtcontainere

Før standard fragtcontainere blev gods lastet stykvis — sække, tønder, kasser — og hver havn håndterede det forskelligt. Den standardiserede stålcontainer ændrede det: pak den én gang, og ethvert skib, kran, tog eller lastbil kan flytte den uden at tænke på, hvad der er indeni.

Docker gør det samme for software:

  • Dockerfilen er pakkelisten og instruktionerne.
  • Imaget er den forseglede, pakkede container.
  • En kørende container er den kasse sat i arbejde på et skib — her en server.
  • Docker Engine er krane og skib: softwaren på en server, der ved, hvordan enhver container køres.

Sådan virker Docker

DelHvad det er
DockerfileEn tekstfil med trin-for-trin-instruktioner til at bygge imaget.
ImageEn skrivebeskyttet pakke: basis af operativsystemet, sprogmiljøet, biblioteker og din kode.
ContainerEn kørende instans af et image, isoleret fra andre apps på samme maskine.
RegistryEt sted til at gemme og dele images, såsom Docker Hub eller en cloud-udbyders registry.
Docker EngineBaggrundstjenesten, der bygger images og kører containere. Gratis og open source.
Docker DesktopEn app til Mac, Windows og Linux, der samler motoren med en grafisk grænseflade.

Containere vs. virtuelle maskiner: en virtuel maskine lader som om, den er en helt separat computer med sit eget operativsystem, så den er tung og langsom at starte. En container deler værtens operativsystemkerne og isolerer kun appen og dens filer, så den typisk starter på sekunder og bruger langt mindre hukommelse. Mange containere kan køre side om side på én server.

Et konkret eksempel: en lille Python-API

Lad os sige, at din AI-builder har lavet en Python FastAPI-backend til en bookingapp. Dockerfilen kunne se sådan ud:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Linje for linje:

LinjeHvad den gør
FROM python:3.12-slimStart fra et officielt image, der allerede har Python 3.12 installeret.
WORKDIR /appArbejd i mappen /app i containeren.
COPY requirements.txt . og RUN pip install ...Kopiér listen over biblioteker og installer dem.
COPY . .Kopiér appens egen kode ind.
EXPOSE 8000Notér, at appen lytter på port 8000.
CMD [...]Kommandoen, der starter webserveren, når containeren kører.

På almindeligt dansk: "Start med Python 3.12. Installer bibliotekerne i requirements.txt. Kopiér koden ind. Start webserveren på port 8000."

En udvikler (eller en hosting-platform) kører derefter to kommandoer:

docker build -t booking-api .
docker run -p 8000:8000 booking-api

Den første bygger imaget og giver det navnet booking-api. Den anden starter en container og forbinder port 8000 på maskinen med port 8000 inde i containeren. API'en kører nu — på samme måde, som den vil gøre på enhver server, der har Docker.

Bemærk, hvad der ikke er i imaget: adgangskoder og API-nøgler. De sendes ind, når containeren starter, som miljøvariabler, så det samme image kan køre i test og produktion med forskellige indstillinger.

Vigtige begreber

BegrebBetydning
ContainerEn isoleret, kørende pakke af en app og dens afhængigheder.
ImageSkabelonen en container startes fra.
Basis-imageStartpunktet i en Dockerfiles FROM-linje, såsom python:3.12-slim eller node:22.
LagHvert Dockerfile-trin tilføjer et cachet lag, hvilket gør genbygninger hurtigere.
PortmapningAt forbinde en port på værten med en port inde i containeren.
VolumeLager, der overlever, når en container erstattes. Containere selv er til engangsbrug.
Docker ComposeEn fil, der beskriver flere containere, der kører sammen, for eksempel en API plus en database.
KubernetesEt system til at køre mange containere på tværs af mange servere. De fleste små apps har ikke brug for det.

Almindelige misforståelser

  • "Docker er en virtuel maskine." Den er lettere: containere deler værtens kerne.
  • "Data gemt i en container er sikre." Containere er beregnet til at blive smidt væk og erstattet. Alt, der skal vare ved — brugerdata, uploads — hører hjemme i en database, fillagring eller et volume.
  • "Det er fint at putte hemmeligheder i Dockerfilen, fordi den er privat." Images deles og skubbes til registries. Send hemmeligheder ved kørsel i stedet.
  • "Docker gør en app sikker." Isolation hjælper, men en container med forældet software og svage indstillinger er stadig sårbar.
  • "Alle apps har brug for Docker." En statisk side eller et simpelt frontend hostes typisk som almindelige filer, uden nogen container overhovedet.
  • "Docker Desktop er gratis for alle." Motoren er gratis; Docker Desktop kræver et betalt abonnement for større virksomheder, ifølge Dockers vilkår.

Hvad du spørger din AI-builder om

  • "Har denne app brug for en Dockerfile? Hvis ja, forklar hver linje på almindeligt dansk."
  • "Brug et lille, officielt basis-image, og lås sprogversionen fast."
  • "Hold hemmeligheder ude af imaget. Læs dem fra miljøvariabler ved kørsel."
  • "Sørg for, at uploads og data gemmes i databasen eller fillagringen, ikke inde i containeren."
  • "Tilføj en Docker Compose-fil, så en udvikler kan køre frontend, API og database lokalt med én kommando."
  • "Tilføj et health-check-endpoint, så hosten kan se, om API'en er oppe."

Docker i Mythex

Du behøver ikke at installere eller køre Docker for at bruge Mythex. Dit projekt kører i en privat cloud-sandbox, og når du beder om en backend, der kræver en container — for eksempel C#, Java eller en brugerdefineret Node- eller Python-service — skriver Mythex appen plus en Dockerfile, viser den i sandboxen og udruller den, når du udgiver, uden hosting at opsætte (sådan vælges teknologien). Med Pro kan du eksportere projektet eller synkronisere det til GitHub og tage Dockerfilen med. For hvordan backends og frontends hænger sammen, se frontend vs. backend.

Spørgsmål

Hvad er Docker med enkle ord?

Docker er et værktøj, der pakker en app sammen med alt, den har brug for at køre — sprogmiljøet, bibliotekerne og indstillingerne — i en standardenhed kaldet en container. Containeren kører på samme måde på en laptop, en testserver eller en cloud-host.

Hvad er forskellen på et Docker-image og en container?

Et image er den pakkede, skrivebeskyttede skabelon: appen og dens afhængigheder, bygget ud fra en Dockerfile. En container er en kørende kopi af det image. Du kan starte mange containere fra ét image.

Er Docker en virtuel maskine?

Nej. En virtuel maskine efterligner en hel computer med sit eget operativsystem. Containere deler værtsmaskinens operativsystemkerne og isolerer kun appen, så de starter hurtigere og bruger mindre hukommelse.

Er Docker gratis?

Docker Engine, kernen der kører containere, er gratis og open source. Fra september 2026 siger Dockers vilkår, at Docker Desktop er gratis til ikke-kommercielle open source-projekter og til virksomheder med færre end 250 ansatte og under 10 mio. dollars i årlig omsætning; større virksomheder skal have et betalt abonnement.

Skal jeg lære Docker for at bygge en app med AI?

Normalt ikke. Mange AI-builders håndterer containere for dig. Det hjælper at vide, hvad en Dockerfile er, så du forstår, hvordan en backend pakkes, og så du kan køre eller hoste appen et andet sted, hvis du eksporterer den.

Mythex · Pricing · Byg hvad som helst med AI · Skabeloner til websites og apps · Mythex sammenlignet · Ordliste for app-bygning med AI · Gratis værktøjer til app-bygning med AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)