Slik installerer du Docker på Ubuntu
På denne siden
Docker kjører programmer i containere: hver container har alt den trenger, så den kjører likt på den bærbare og på en server. Nettsider, databaser, boter og spillservere kan alle startes med én kommando eller én Compose-fil.
Denne guiden installerer Docker Engine og Docker Compose på Ubuntu 24.04 eller 22.04 fra Dockers offisielle repository, og går deretter gjennom innstillingene som betyr noe på en ekte server: tilganger, logger og brannmuren.
Før du starter
- En støttet Ubuntu: Docker støtter 64-biters versjoner av Ubuntu 26.04, 24.04 og 22.04 LTS. Sjekk din med
cat /etc/os-release. - En KVM-server, ikke en container: Docker trenger egne kjernefunksjoner. Det kjører på enhver KVM-VPS, men ofte ikke på containerbaserte pakker (OpenVZ eller LXC).
- Root eller en bruker med sudo. Kommandoene under bruker
sudo; er du logget inn som root, kan du droppe det.
Unngå pakken docker.io fra Ubuntus eget repository og Snap-versjonen på servere: Dockers repository får nye versjoner først, og det er dette Dockers egen dokumentasjon bruker.
Docker trenger en ekte virtuell maskin: HytHost KVM VPS-pakker med Ubuntu og full root starter fra €2.92/mnd.
Se VPS-pakkerSteg 1: Fjern pakker som er i konflikt
Har du tidligere installert Docker fra en annen kilde, fjerner du de pakkene først. På en ny server melder apt bare at ingen av dem er installert:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
Images og volumer i /var/lib/docker/ blir ikke slettet av dette.
Steg 2: Legg til Dockers repository
Disse kommandoene fra Dockers dokumentasjon legger til Dockers signeringsnøkkel og apt-repositoryet for din Ubuntu-versjon:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
Steg 3: Installer Docker og Compose
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dette installerer Docker Engine, kommandolinjeverktøyet, Buildx-byggeren og Compose-pluginen. Sjekk at det fungerer:
sudo docker run hello-world docker compose version
Den første kommandoen laster ned et lite test-image og skriver ut en velkomstmelding. På Ubuntu starter Docker automatisk ved oppstart, så det er ingenting å aktivere.
Compose er kommandoen docker compose, med mellomrom. Den gamle docker-compose med bindestrek er den utfasede første versjonen; guider som fortsatt bruker den, fungerer også med den nye kommandoen.
Steg 4: Tilganger og loggrotasjon
Kjør docker uten sudo. Legg brukeren din til i gruppen docker, og logg deretter ut og inn igjen:
sudo usermod -aG docker $USER
Vær klar over at Docker selv advarer om at denne gruppen gir rettigheter på root-nivå: alle i den kan styre hele serveren. Legg bare til brukere du ville gitt root.
Begrens loggstørrelsen. Som standard vokser containerlogger uten grense og kan fylle disken. Opprett /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Kjør så sudo systemctl restart docker. Grensen gjelder for containere som opprettes etter endringen, så opprett eksisterende containere på nytt.
Din første Compose-fil
Compose beskriver containerne dine i én fil. Opprett en mappe med en compose.yaml:
services:
web:
image: nginx:stable
ports:
- "127.0.0.1:8080:80"
restart: unless-stopped
Start den med docker compose up -d, sjekk den med docker compose ps og les loggene med docker compose logs. restart: unless-stopped starter containeren igjen etter et krasj eller en omstart. Porten er bundet til 127.0.0.1 med vilje, som neste avsnitt forklarer.
Docker og ufw: brannmurfellen
Denne lurer nesten alle. Når du publiserer en port, for eksempel -p 8080:80, legger Docker til egne brannmurregler som brukes før ufws. Porten er åpen mot internett selv om ufw sier at den er stengt.
- Bind porter til localhost når bare serveren selv trenger dem, for eksempel en database eller en app bak en omvendt proxy:
127.0.0.1:8080:80. - Ikke publiser databaseporter i det hele tatt; la heller containerne nå hverandre over et Docker-nettverk.
- For filtrering på kildeadresse legger du til regler i iptables-kjeden
DOCKER-USER, som Docker sjekker før sine egne.
Det samme gjelder spillservere som kjører i Docker; se slik setter du opp en VPS for spillservere.
Docker på en HytHost VPS
HytHost VPS-pakker kjører på KVM, så hver VPS har sin egen kjerne og Docker kjører uten begrensninger. Velg Ubuntu 24.04 eller 22.04 når du bestiller, koble til via SSH og følg stegene over. Du får full root-tilgang, SSD-lagring og DDoS-beskyttelse, og du kan oppgradere til en større pakke senere etter hvert som containerne dine vokser.
Ofte stilte spørsmål
Docker støtter 64-biters versjoner av Ubuntu 26.04, 24.04 og 22.04 LTS. Andre Ubuntu-baserte systemer, som Linux Mint, er ikke offisielt støttet.
Ikke på en produksjonsserver. Docker sier at bekvemmelighetsskriptet er ment for utviklingsmiljøer og ikke anbefales for produksjon; det kan også hoppe til en ny hovedversjon. Bruk repository-metoden i stedet.
docker-compose med bindestrek er den gamle, utfasede versjonen. I dag er Compose en Docker-plugin som brukes som docker compose og installeres med pakken docker-compose-plugin.
Porter som Docker publiserer, går forbi ufw. Bind porten til 127.0.0.1 hvis den skal være lokal, eller filtrer den i kjeden DOCKER-USER.
På en KVM VPS, ja. Containerbaserte VPS-pakker, som OpenVZ, kan ofte ikke kjøre Docker eller trenger spesielle innstillinger fra leverandøren.
Kjør containerne dine på en VPS
HytHost KVM VPS-pakker kjører Docker uten begrensninger, med full root-tilgang og Ubuntu 24.04, fra €2.92/mnd.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursVar denne guiden til hjelp?