Docker er et populært værktøj til udvikling og udrulning af software i pakker kendt som containere. Ubuntu er en af de mest populære Linux-distributioner og er et styresystem, der understøttes godt af Docker.

Ved at installere Docker på Ubuntu skabes der en ideel platform til dine udviklingsprojekter ved hjælp af lette virtuelle maskiner, der deler Ubuntus operativsystemkerne. Ved at forklare 4 måder at gøre det muligt på, vil denne vejledning vil få dig i gang .

Mere om Docker

Docker hjælper med at gøre applikationer bærbare ved at lade dig bygge og køre dem på en hvilken som helst Docker-host. Et containerimage kan bruges uden ændringer overalt, hvor Docker er tilgængeligt – fra din bærbare computer til skyen. Dette forenkler udvikleroplevelsen ved at eliminere forskelle mellem køremiljøer. Containerformatet er også nemt at distribuere på flere fysiske maskiner, så du nemt kan skalere programmerne efter skiftende efterspørgsel.

Docker indeholder alt, hvad du har brug for til at bygge og køre containerimages, uanset om de er fra Docker Hub og andre offentlige registre eller dine egne Dockerfiler.

Gør dig klar til at installere Docker på Ubuntu

Du kan installere den seneste Docker-udgave på Ubuntu-versionerne 18.04, 20.04, 21.10 og 22.04. Arkitekturerne x64_64/AMD64, ARMhf, ARM64 og S390x understøttes.

Der er flere måder at installere Docker på, og dit valg afhænger af den funktionalitet, du har brug for, og din foretrukne tilgang til pakkehåndtering. Du lærer alle de mulige muligheder at kende i denne vejledning.

Valg af en Docker Flavor

Docker på Linux var traditionelt set kun terminalbaseret. En velfungerende installation omfatter Docker Engine, en demon, der kører dine containere, og kommandolinjeinterfacet (CLI) docker til at interagere med demonen.

Docker Desktop er en alternativ måde at bruge Docker på. Historisk set har det kun været tilgængeligt på Windows og Mac, men blev lanceret til Linux i maj 2022. Docker Desktop på Ubuntu kræver en AMD64-processor og enten Ubuntu 21.10 eller 22.04. Det giver en grafisk grænseflade til administration af dine containere, en integreret Kubernetes-klynge og understøttelse af udvidelser fra tredjeparter. Docker Desktop giver dig også CLI’erne docker og Docker Compose.

Docker Desktop adskiller sig fra Docker Engine ved at bruge en virtuel maskine til at køre dine containere (hvilket er grunden til, at Docker Desktop er påkrævet for Windows- og MacOS-brugere). Selv om det er muligt at bruge begge varianter side om side på Ubuntu, kan du opleve konflikter mellem docker CLI-versionerne. Det er bedst at vælge en og holde sig til den. Vælg Docker Engine, hvis du er fortrolig med din terminal og ønsker den bedste support og ydeevne. Docker Desktop’s VM gør den lidt tungere, men er det bedre valg, hvis du vil have en integreret brugergrænseflade eller planlægger at bruge Kubernetes.

Installation af Docker Engine på Ubuntu

Docker Engine er standardmetoden til at køre Docker på Ubuntu. Den fungerer med alle understøttede versioner og miljøer, fra en lokal Ubuntu Desktop-maskine til din Ubuntu Server cloud-host. Sørg for, at du kører en Ubuntu-udgave, der er 18.04 eller nyere, før du fortsætter.

Docker Engine har 3 forskellige installationsmetoder:

  1. Et officielt Ubuntu apt arkiv
  2. En selvstændig Debian-pakke (.deb)
  3. Et automatiseret installationsskript

Mulighed 1, Ubuntu apt repository, er den mest almindeligt anvendte. Den tilføjer Docker til din pakkeliste, så du nemt kan installere fremtidige opdateringer ved at køre apt upgrade. Mulighed 2 understøtter ikke automatiserede opdateringer, men er ideel til installation af Docker på offline-systemer med air-gapping. Det automatiserede installationsskript er den enkleste metode til at komme i gang, men er kun konfigureret til udviklingsbrug. Docker fraråder at bruge det i produktionsmiljøer.

Brug apt -repositoriet, når du arbejder med et produktionssystem, ønsker nemme opdateringer eller har brug for at bruge den samme mekanisme i alle miljøer.

Brug det automatiserede installationsskript, hvis du ønsker en hurtig opsætningsoplevelse, mens du eksperimenterer med Docker på din egen maskine.

1. Installation af Docker ved hjælp af apt-repositoriet

Docker udgiver pakker til sit eget apt -repositorium. Du skal tilføje dette repository til din apt sources-liste, ellers vil din apt -installation ikke kunne finde Docker-pakkerne.

Begynd med at opdatere din eksisterende pakkeliste og installere nogle afhængigheder for de følgende trin. Værktøjerne ca-certificates, curl, gnupg og lsb_release bruges til at hente de korrekte Docker apt repositoryoplysninger og signeringsnøglen for dit system. Selv om du sandsynligvis allerede har disse pakker, skader det ikke at sikre dig, at de er tilgængelige.

$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release

Registrer derefter Dockers GPG-nøglering med apt. Dette vil lade apt validere de Docker-pakker, du installerer.

$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg

Kommandoen curl henter Dockers GPG-nøgle til Ubuntu, konverterer den tilbage til standard OpenGPG-kodning og gemmer den i apt’s keyring-mappe. chmod bruges til at indstille tilladelserne på keyring-filen, så apt kan registrere den pålideligt.

Nu kan du tilføje Docker-pakkekilden til dit system. Kør følgende kommando:

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Denne bruger shell-substitution til automatisk at registrere dit systems arkitektur, f.eks. AMD64 eller ARM64, og hente den relevante pakkeliste. Den vil blive verificeret ved hjælp af den GPG-nøgle, der blev tilføjet tidligere. Arkivet tilføjes som en ny pakkeliste inde i apt /etc/apt/sources.list.d directory.

Opdater dine pakkelister igen, så apt ved, at Docker-pakkerne findes:

$ sudo apt update

Nu kan du bruge kommandoen apt install til at tilføje Dockers komponenter til dit system. Du installerer den nyeste version af Docker Community Edition (CE). Der er tre pakker, der skal installeres:

  • docker-ce: Docker Engine-dæmonen.
  • docker-ce-cli: Docker CLI’en, som du vil interagere med.
  • containerd.io: den container runtime, der er kendt som containerd, som starter og kører dine containere.
$ sudo apt install docker-ce docker-ce-cli containerd.io

2. Installation af Docker ved hjælp af Debian-pakken

Den officielle .deb -pakke er enkel at opsætte, men du skal manuelt downloade og installere hver ny udgave. Pakkerne er hostet på en simpel filserver. Naviger først til Dockers side med udgivelsesbemærkninger for at finde det seneste tilgængelige versionsnummer, som f.eks. 20.10.20. Derefter skal du gå til containerds GitHub-side for også at tjekke dens versionsnummer. Det vil se ud som 1.6.8.

Nu kan du køre følgende sekvens af kommandoer for at hente det rigtige sæt pakker til din platform. Udskift <DOCKER_VERSION> og <CONTAINERD_VERSION> med henholdsvis de aktuelle versionsnumre for Docker og containerd.

$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb

Du kan også downloade filerne og inspicere alle de tilgængelige udgivelser ved at besøge mappelisten for din Ubuntu-version i din browser.

Når du har hentet Docker CE-, CLI- og containerd-pakkerne, skal du bruge følgende kommando til at installere dem:

$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb

Juster filnavnene, hvis du har hentet pakkerne manuelt uden at bruge ovenstående script.

3. Installation af Docker ved hjælp af installationsskriften

Dockers bekvemmelighedsscript automatiserer installationen af alle Docker-komponenter. Det er ikke interaktivt, så du kan læne dig tilbage og vente, mens dit system bliver forberedt til dig.

Download først scriptet:

$ curl -fsSL https://get.docker.com -o get-docker.sh

Kør nu scriptet med root-privilegier:

$ sudo sh get-docker.sh
Executing docker install script
...

Vent, indtil scriptet er afsluttet. Du bør se en bekræftelsesmeddelelse, der viser, at Docker er installeret.

Scriptet er beregnet til at være en løsning, der passer til alle. Du kan ikke tilpasse, hvad det gør, uden at ændre scriptets kildekode direkte. Det er heller ikke designet til at udføre Docker-opdateringer, da det ikke vil bringe afhængigheder op til deres nyeste versioner.

Sikring af, at Docker Engine virker på Ubuntu

Uanset hvilken installationsmetode du har brugt, bør du sikre dig, at alt fungerer ved at starte en container:

$ sudo docker run hello-world

Du vil se Docker-klienten trække hello-world:image til din maskine fra Docker Hub-repositoriet:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
Status: Downloaded newer image for hello-world:latest

En ny container vil derefter automatisk blive startet. “Hello-world”-start-image er konfigureret til at køre en simpel kommando, der udsender nogle grundlæggende oplysninger om Docker og afsluttes straks derefter:

Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 (amd64)
 3. The Docker daemon created a new container from that image which runs the
 executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
 to your terminal.

Når du ser det output, der er vist ovenfor, betyder det, at Docker er klar til brug. Daemonet har med succes hentet hello-world:latest-image fra Docker Hub og startet en container ved hjælp af det. Alt fra “Hello from Docker”-linjen og frem blev udsendt af processen inde i containeren.

Indstilling af Docker Engine-tilladelser på Ubuntu

En ny Docker Engine-installation kræver normalt root-rettigheder for at køre docker CLI-kommandoer. Du skal give hver kommando et præfiks med sudo, hvilket er besværligt.

Du kan undgå dette krav ved at tilføje dig selv til gruppen docker, efter at du har installeret Docker Engine ved hjælp af ovenstående trin. Denne valgfrie ændring giver dig tilladelser til at køre docker -kommandoer som en almindelig bruger uden sudo, hvilket forenkler din CLI-oplevelse.

Sørg for, at brugergruppen docker findes:

$ sudo groupadd docker

Tilføj derefter dig selv til den:

$ sudo usermod -aG docker $USER

Hvis du tidligere har kørt en docker -kommando med sudo, skal du rette tilladelserne på din ~/.docker -mappe:

$ sudo chown $USER:$USER /home/$USER/.docker -R
$ sudo chmod g+rwx $HOME/.docker -R

Dette sikrer, at din egen brugerkonto har tilladelse til at læse og skrive filer i mappen.

Log ud af dit system og ind igen, så dit nye gruppemedlemskab træder i kraft. Prøv at køre en docker -kommando uden sudo:

$ docker run hello-world

Dette trin efter installationen afslutter installationen af Docker på Ubuntu. Demon er allerede konfigureret til at starte automatisk, så du behøver ikke manuelt at konfigurere en tjeneste. Hvis du planlægger en avanceret installation, skal du se i Docker-brugermanualen for at få instruktioner om, hvordan du konfigurerer tilpasset netværks-, lognings- og volumenlagringsstyring.

Tilføjelse af Docker Compose til din Ubuntu-installation

Docker Compose er et populært Docker-kompagnonværktøj, der gør det lettere at arbejde med programmer, der bruger flere containere. Mens docker CLI kun er rettet mod én container med hver kommando, kan docker compose starte og stoppe flere containere med hver handling. Dette forenkler administrationen af systemer, hvor du har separate frontend-, backend- og databasetjenester.

Docker Compose er nu tilgængelig som en del af docker CLI. Compose V2-pluginet er inkluderet, når du bruger det officielle installationsskript til at installere Docker. Det er også tilgængeligt i apt, hvis du har brugt den metode:

$ sudo apt install docker-compose-plugin

Alternativt kan du hente det nyeste arkiv .deb og installere det manuelt:

$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb
$ sudo apt install -i ./docker-compose-plugin.deb

Kontroller, at Compose fungerer ved at prøve kommandoen docker compose version:

$ docker compose version
Docker Compose version v2.6.0

Installation af Docker Desktop på Ubuntu

Mens Docker Engine kun er begrænset til en CLI-oplevelse, giver Docker Desktop en grafisk administrationsgrænseflade, indbygget Kubernetes-understøttelse og valgfrie udvidelser fra tredjeparter, som kan hjælpe med at forenkle dine containerarbejdsgange. Det er et godt valg, når du søger brugervenlighed på din egen arbejdsstation.

For at installere Docker Desktop skal du først installere nogle afhængigheder ved hjælp af apt:

$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release

Derefter skal du køre følgende sæt kommandoer for at tilføje Dockers apt repository. Selv om Docker Desktop ikke er inkluderet i arkivet, refereres pakker i det som afhængigheder i Debians Debian-arkiv til Desktop.

$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update

Kommandoen curl henter Dockers GPG-nøgle til Ubuntu, konverterer den tilbage til standard OpenGPG-kodning og gemmer den i mappen apt keyring. chmod bruges til at indstille tilladelserne på keyring-filen, så apt kan registrere den pålideligt.

Download Docker Desktop Debian-arkivet fra linket i dokumentationen. Dette vil give den seneste stabile udgave af Docker Desktop til Linux. Brug apt til at installere pakken, idet du erstatter det versionsnummer, du hentede, med det:

$ sudo apt install ./docker-desktop-4.11.0-amd64.deb

Docker Desktop vil nu blive vist i din app-startpakke. Brug din launcher til at starte Docker Desktop og åbne brugergrænsefladen. Du vil også kunne køre docker, docker compose og kubectl -kommandoer i din terminal. Programmet tilføjer også en menu til din shell-tray, der viser den aktuelle Docker Desktop-status og lader dig udføre nogle hurtige handlinger.

Du vil blive bedt om at acceptere en serviceaftale, første gang du kører Docker Desktop. Tryk på knappen Accepter, hvis du accepterer, og vent, mens Docker Desktop starter sin virtuelle maskine.

Efter et par øjeblikke indlæses dashboardet. Det giver genveje til at oprette nye containere fra populære images, så du undgår lange terminalkommandoer.

Skærmbillede af Docker Desktop, der kører på Ubuntu.
Docker Desktop installeret på Ubuntu.

DevKinsta: Docker Desktop til WordPress

Specialiserede løsninger bygget på Dockers fundament giver en endnu nemmere oplevelse for specifikke teknologier. DevKinsta er et gratis lokalt udviklingsværktøj til at bygge WordPress-temaer og plugins, der bruger Docker til at isolere og sikre dine WordPress-websteder fuldt ud. Det gør det hurtigt og enkelt at starte og tilpasse et nyt WordPress-projekt uden selv at opsætte servere. Når du er klar, kan du skubbe direkte til Kinsta-platformen for at implementere dit live-websted.

Du kan installere DevKinsta på MacOS, Windows og Ubuntu.

Oversigt

Docker er den måde, hvorpå de fleste udviklere begynder at bruge containere. Du kan nemt installere Docker på dit Ubuntu-system, enten som Docker Engine eller det nye Docker Desktop. Når du har fået Docker installeret, er du fuldt udstyret til at bygge og køre containere, så du kan forenkle udviklingen og reducere uoverensstemmelser mellem miljøer.

Hvis du udvikler WordPress-temaer og -plugins, kan DevKinsta forenkle oprettelsen af et lokalt udviklingsmiljø og udrulning af dit websted.

James Walker

James Walker er grundlæggeren af Heron Web, et UK-baseret softwareudviklingsstudie, der leverer skræddersyede løsninger til SMV'er. Han har erfaring med at levere tilpasset software ved hjælp af tekniske arbejdsgange bygget op omkring moderne DevOps-metoder. James er også freelance teknisk skribent og har skrevet meget om softwareudviklingens livscyklus, aktuelle branchetrends og DevOps-koncepter og -teknologier.