Installera Docker på Ubuntu: APT, Snap, Rootless – Komplett guide 2026

Välj rätt installationsväg för Docker på Ubuntu.

Sidinnehåll

Installation av Docker på Ubuntu bör vara enkel, men i praktiken konkurrerar flera olika Docker-installationsmetoder om samma kommandonamn, var och en med olika paketering, uppdateringsbeteende och säkerhetsimplikationer.

Denna guide jämför alla större installationsvägar så att du kan välja den som passar din maskin bäst.

De alternativ du kommer att stöta på inkluderar:

  • docker.io från Ubuntu-förvar
  • docker-ce från Docker:s officiella APT-förvar
  • Docker från Snap
  • Docker Desktop
  • manuellt nedladdade .deb-paket
  • Docker:s bekvämlighetsscript
  • rootless Docker (Docker utan root)

docker workplace

Även om de alla tillhandahåller verktyg för containerisering, är de inte utbytbara paket. Bästa valet beror på om maskinen är en utvecklingsarbetsstation, en CI-körare, en liten server, en självhostad box eller en produktionsvärd. Min standardrekommendation är lugn men bestämd: för de flesta tekniska användare på vanliga Ubuntu-maskiner, installera Docker Engine från Docker:s officiella APT-förvar. Använd Ubuntu:s docker.io endast när distributionsintegration väger tyngre än upstream Docker-paketering. Undvik Snap-paketet om du inte specifikt vill ha Snap-beteende och förstår dess begränsningar. Rootless Docker är värt att känna till, men det är inte automatiskt det bästa standardvalet för varje maskin.

Denna guide förklarar avvägningarna, täcker säkerhet efter installation och ger dig rena installationsvägar för varje metod. När Docker Engine är igång är Docker Cheatsheet din dagliga kommandoreferens, och Docker Compose Cheatsheet täcker multi-container-installationer. Båda finns bredvid Git, VS Code och CI/CD-guider i Developer Tools: The Complete Guide to Modern Development Workflows.

Snabb rekommendation

Tabellen nedsummerar vilken installationsväg som passar vanliga scenarier.

Användningsfall Rekommenderad installation
Utvecklingsarbetsstation Docker officiella APT-förvar
CI-körare Docker officiella APT-förvar, versionsspärrad vid behov
Liten självhostad server Docker officiella APT-förvar
Produktionsserver Docker officiella APT-förvar, kontrollerade uppdateringar
Ubuntu-endast konservativt system Ubuntu docker.io-paket
Snabb desktopexperiment Docker Desktop eller officiella APT-förvar
Snap-hantering Ubuntu-uppsättning Docker Snap, med försiktighet
Starkt krav på icke-root-daemon Rootless Docker
Air-gapped värd Manuella .deb-paket eller intern mirror

Om du inte har någon särskild anledning att välja annars, är Docker:s officiella APT-förvar standardvalet.

Vad som installeras

En normal Docker Engine-installation inkluderar flera komponenter:

  • Docker-daemon: dockerd
  • Docker CLI: docker
  • container runtime: containerd
  • low-level runtime: runc
  • Buildx-plugin: docker buildx
  • Compose-plugin: docker compose

Modern Docker Compose installeras vanligtvis som ett Docker CLI-plugin. Det betyder att kommandot är:

docker compose version

Inte:

docker-compose version

Det gamla docker-compose-kommandot finns fortfarande i äldre guider och äldre system, men nya Ubuntu-installationer bör generellt använda Compose-pluginet.

Alternativ 1: Installera Docker från Docker:s officiella APT-förvar

Detta är det bästa standardvalet för de flesta utvecklare och DevOps-användare. Du får Docker:s upstream-paketering, aktuella Docker Engine-release, Buildx, Compose-plugin och en normal APT-uppdateringsväg.

Ta bort konfliktande paket först

Innan du installerar Docker CE, ta bort paket som kan krocka med de officiella Docker-paketen.

sudo apt remove docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc

Det är okej om APT säger att några av dessa paket inte är installerade.

Detta kommando tar inte bort Docker-avbilder, containrar, volymer eller nätverk som lagras under /var/lib/docker. Om du vill ha en ren nollställning är det ett separat steg och bör göras medvetet.

Lägg till Docker:s officiella APT-förvar

Installera förutsättningar:

sudo apt update
sudo apt install ca-certificates curl

Skapa keyring-mappen:

sudo install -m 0755 -d /etc/apt/keyrings

Ladda ner Docker:s förvarssnyckel:

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc

Tillåt APT att läsa nyckeln:

sudo chmod a+r /etc/apt/keyrings/docker.asc

Lägg till Docker-förvaret med hjälp av deb822 .sources-formatet:

sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<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

Uppdatera APT-metadata:

sudo apt update

Installera Docker Engine, Buildx och Compose

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Kontrollera tjänsten:

sudo systemctl status docker

Om den inte körs:

sudo systemctl start docker

Verifiera installationen:

sudo docker run hello-world

Kontrollera versioner:

docker --version
docker buildx version
docker compose version

På denna punkt fungerar Docker, även om du fortfarande behöver sudo för de flesta kommandon om du inte konfigurerar icke-root-åtkomst i avsnittet efter installation nedan.

Alternativ 2: Installera Docker från Ubuntu-förvar

Ubuntu tillhandahåller docker.io-paketet, som du kan installera med:

sudo apt update
sudo apt install docker.io docker-compose-v2

Starta och aktivera Docker:

sudo systemctl enable --now docker

Verifiera:

sudo docker run hello-world

När Ubuntu docker.io är ett rimligt val

Ubuntu:s paket kan vara ett bra val när:

  • Du föredrar Ubuntu-underhållna paket.
  • Du vill ha en version som är linjerad med Ubuntu:s releaseprocess.
  • Du hanterar många Ubuntu-värdar med standardförvar.
  • Du inte behöver den senaste upstream Docker-release.
  • Du vill ha färre tredjeparts APT-källor.

Detta är ett rimligt val. Det är inte “fel”.

När Ubuntu docker.io inte är idealiskt

Använd Docker:s officiella förvar istället när:

  • Du vill ha den aktuella upstream Docker Engine.
  • Du följer Docker:s egen dokumentation.
  • Du förlitar dig på aktuell Buildx- och Compose-beteende.
  • Du vill ha Docker CE-paketsnamn.
  • Du felsöker problem mot upstream Docker-dokumentation.
  • Du behöver förutsägbar Docker-versionsparitet över distributioner.

Min bias: för utvecklingsmaskiner och container-tunga värdar, använd Docker:s officiella APT-förvar. För konservativa Ubuntu-hanterade maskiner är docker.io acceptabelt.

Alternativ 3: Installera Docker med Snap

Docker Snap installeras med ett enda kommando, men enkelhet betyder inte alltid förutsägbar beteende på en server eller utvecklingsmaskin.

sudo snap install docker

Snap-paket har sin egen paketeringsmodell, uppdateringsbeteende, inneslutningsantaganden och filsystemslayout. Det är okej för många skrivbordsappar, men Docker Engine är redan en systemnivå container runtime, så den extra Snap-lagret kan överraska människor. Om du hanterar annan mjukvara med Snap, förklarar Snap Package Manager Cheatsheet kanaler, inneslutning och uppdateringsbeteende i mer detalj.

När Docker Snap är rimligt

Docker Snap kan vara rimligt när:

  • Du medvetet hanterar mjukvara med Snap.
  • Du använder Ubuntu Core eller en Snap-tung miljö.
  • Du vill ha snap-liknande automatiska uppdateringar.
  • Du experimenterar och bryr dig inte om att matcha Docker:s upstream APT-instruktioner.

Varför jag vanligtvis undviker Docker Snap

Jag undviker vanligtvis Docker Snap för utveckling och serveranvändning eftersom:

  • De flesta Docker-dokumentation antar standard Docker Engine-layout.
  • Felsökningsvägar kan skilja sig från APT-installationer.
  • Tjänsthantering kan kännas mindre transparent.
  • Snap automatiska uppdateringar kan vara obekväma för infrastrukturprogramvara.
  • Vissa bindmounts, sockets och värdintegrationsdetaljer kan överraska dig.

Om Docker är central i ditt arbetsflöde, installera det som infrastruktur snarare än en casual desktop-app — även när en Snap-installation ser lockande ut på ytan.

Alternativ 4: Installera Docker från manuella .deb-paket

Manuell .deb-installation är användbar när:

  • Maskinen inte kan använda externa APT-förvar.
  • Du bygger en offline-installationsprocess.
  • Du speglar paket internt.
  • Du behöver strikt ändringskontroll.

Avvägningen är underhåll, eftersom du måste ladda ner och installera nya paket manuellt varje gång du uppgraderar.

En manuell installation kräver vanligtvis dessa paket:

  • containerd.io
  • docker-ce
  • docker-ce-cli
  • docker-buildx-plugin
  • docker-compose-plugin

Installera dem med:

sudo dpkg -i ./containerd.io_*.deb \
  ./docker-ce_*.deb \
  ./docker-ce-cli_*.deb \
  ./docker-buildx-plugin_*.deb \
  ./docker-compose-plugin_*.deb

Åtgärda sedan saknade beroenden vid behov:

sudo apt --fix-broken install

Verifiera:

sudo systemctl status docker
sudo docker run hello-world

Manuella .deb-installationer är inte mitt första val, men de förblir giltiga för kontrollerade eller air-gapped miljöer där explicit paketgodkännande väger tyngre än bekvämlighet.

Alternativ 5: Använd Docker:s bekvämlighetsscript

Docker tillhandahåller ett bekvämlighetsscript:

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

Du kan förhandsgranska vad det skulle göra:

sudo sh get-docker.sh --dry-run

Bekvämlighetsscriptet är användbart för disposable testmaskiner, demos, laboratorier och kassable miljöer, men jag skulle inte använda det som huvudinstallationsmetod för produktionsystem. Ett script som konfigurerar förvar och installerar paket icke-interaktivt är bekvämt, men långvarig infrastruktur förtjänar explicita, granskbara steg — så för produktionsvärdar, använd APT-förvarmetoden direkt.

Docker Desktop vs Docker Engine på Ubuntu

Docker Desktop för Linux är en annan produkt än Docker Engine. Docker Engine är server-sides runtime och CLI-arbetsflöde som de flesta Linux-serveranvändare förväntar sig, medan Docker Desktop lägger till en GUI, Desktop-integrationer och en produktupplevelse närmare macOS och Windows Docker-användning.

Använd Docker Desktop när:

  • Du vill ha en grafisk Docker-upplevelse.
  • Du vill ha Desktop-funktioner.
  • Du är i linje med ett team som standardiserar på Docker Desktop.
  • Du bryr dig inte om den extra lagret.

Använd Docker Engine när:

  • Du kör en server.
  • Du vill ha en enkel Linux-native runtime.
  • Du föredrar systemd-hanterade tjänster.
  • Du bygger CI, DevOps eller självhostad infrastruktur.
  • Du inte behöver GUI.

För en avancerad teknisk bloggpublik är Docker Engine vanligtvis det mer intressanta standardvalet på Linux-servrar och CI-värdar.

Efter installation: Kör Docker utan Sudo

Efter installation fungerar detta:

sudo docker ps

Men detta kan misslyckas:

docker ps

Det beror på att Docker-daemon lyssnar på en Unix-socket ägd av root. Den vanliga fixen är att lägga till din användare i docker-gruppen.

Skapa gruppen vid behov:

sudo groupadd docker

Lägg till din användare:

sudo usermod -aG docker $USER

Tillämpa den nya grupptillhörigheten:

newgrp docker

Eller logga ut och logga in igen.

Testa:

docker run hello-world

Viktig säkerhetsnotering om Docker-gruppen

docker-gruppen är inte en ofarlig bekvämlighetsgrupp. En användare som kan kontrollera Docker-daemon kan vanligtvis få root-ekvivalent kontroll av värden, så för en personlig utvecklingsmaskin är detta ofta acceptabelt, men på en delad server är det ett allvarligt åtkomstkontrollbeslut. Behandla medlemskap i docker-gruppen som admin-åtkomst, och om det känns för brett, överväg rootless Docker istället.

Rootless Docker på Ubuntu

Rootless Docker kör Docker-daemon och containrar som en icke-root-användare. Detta är inte detsamma som att lägga till din användare i docker-gruppen — med docker-gruppen kör daemon fortfarande som root, medan i rootless-läge kör daemon själv som din användare.

När Rootless Docker är rimligt

Rootless Docker är användbart när:

  • Du vill minska daemon-nivå root-risk.
  • Du är på en delad utvecklingsmaskin.
  • Du kör användarägda containrar.
  • Du inte behöver varje avancerad nätverks- och lagringsfunktion.
  • Du vill ha en säkrare standard för experimentella arbetsbelastningar.

När Rootless Docker kan vara irriterande

Rootless Docker kan vara mindre bekvämt när:

  • Du behöver privilegierade containrar.
  • Du förlitar dig på låg portbindning utan extra setup.
  • Du behöver vissa värdnätverksmönster.
  • Du förväntar dig beteende identiskt med rootful Docker.
  • Du följer guider skrivna för normala Docker Engine-installationer.

Rootless-läge förbättrar säkerhetspositionen, men det är inte friktionsfritt jämfört med en standard rootful-installation.

Installera Rootless Docker

Installera förutsättningar:

sudo apt update
sudo apt install uidmap

Om du installerade Docker från DEB eller APT-paket, bör rootless setup-verktyget vara tillgängligt:

dockerd-rootless-setuptool.sh install

Om rootful Docker redan körs och du bara vill ha rootless Docker, inaktivera systemdaemon:

sudo systemctl disable --now docker.service docker.socket

Du kan också behöva ta bort rootful socket:

sudo rm -f /var/run/docker.sock

Efter installation av rootless Docker skriver setup-verktyget vanligtvis ut miljövariabler att lägga till i din shell-profil. De ser vanligtvis ut så här:

export PATH=/usr/bin:$PATH
export DOCKER_HOST=unix:///run/user/1000/docker.sock

Din UID kan skilja sig. Kontrollera den exakta outputen från setup-verktyget.

Aktivera lingering om du vill att användartjänsten ska köra efter logout:

sudo loginctl enable-linger $USER

Kontrollera användartjänsten:

systemctl --user status docker

Kör en testcontainer:

docker run hello-world

Rootful Docker vs Rootless Docker

Ämne Rootful Docker Rootless Docker
Daemon-användare root normal användare
Kommandobekvämlighet hög medium
Kompatibilitet högst bra, men inte perfekt
Säkerhetsposition svagare som standard bättre som standard
Privilegierade containrar stöds begränsad
Låga portar enkel kräver extra setup
Serveranvändning vanlig möjlig, men planera noggrant
Utvecklingsarbetsstation vanlig bra för säkerhetsmedvetna användare

Min praktiska rekommendation:

  • Använd normal rootful Docker för en personlig dev-maskin eller enkel server.
  • Lägg bara till betrodda användare i docker-gruppen.
  • Använd rootless Docker när användarisolering är viktig.
  • Gör inte pretens om att docker-gruppen är en säkerhetsgräns.

Aktivera Docker vid start

På Ubuntu startar Docker installerat från normala paket vanligtvis automatiskt, men det är värt att bekräfta efter en ny installation eller migration.

Kontrollera:

systemctl is-enabled docker
systemctl is-enabled containerd

Aktivera manuellt vid behov:

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

Starta nu:

sudo systemctl start docker

Inaktivera autostart:

sudo systemctl disable docker.service
sudo systemctl disable containerd.service

För rootless Docker, använd användartjänsten:

systemctl --user enable docker
systemctl --user start docker

Och aktivera lingering vid behov:

sudo loginctl enable-linger $USER

Installera eller verifiera Docker Compose

Med Docker:s officiella APT-förvar, installera Compose som ett plugin:

sudo apt update
sudo apt install docker-compose-plugin

Verifiera:

docker compose version

Om du installerade Ubuntu:s paket kan du använda:

sudo apt install docker-compose-v2

Föredra:

docker compose up -d

Över den gamla stilen:

docker-compose up -d

Den bindestreckade docker-compose-kommandotillhör den äldre standalone Compose-eran. Många system har den fortfarande, men ny dokumentation bör använda docker compose.

Kontrollera vilken Docker du har installerat

När du ärvt en maskin eller felsöker en trasig installation hjälper dessa kommandon att identifiera vilken Docker-paketering som faktiskt används.

Kontrollera Docker-binären:

which docker

Kontrollera pakeägande:

dpkg -S "$(which docker)"

Lista Docker-relaterade paket:

dpkg -l | grep -E 'docker|containerd|runc'

Kontrollera APT-policy:

apt-cache policy docker-ce docker.io containerd.io docker-compose-plugin docker-compose-v2

Kontrollera Snap:

snap list | grep docker

Kontrollera tjänststatus:

systemctl status docker
systemctl status containerd

Kontrollera Docker serverdetaljer:

docker info

Om docker info misslyckas utan sudo, kontrollera din gruppmedlemskap:

groups

Migrera från Ubuntu docker.io till Docker CE

Stoppa Docker:

sudo systemctl stop docker

Ta bort Ubuntu-paket:

sudo apt remove docker.io docker-compose docker-compose-v2 docker-doc containerd runc

Lägg till Docker:s officiella APT-förvar med stegen ovan.

Installera Docker CE:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Starta Docker:

sudo systemctl start docker

Kontrollera befintliga containrar:

docker ps -a
docker images
docker volume ls

Normalt tar bort av paket inte bort /var/lib/docker, så dina avbilder, containrar och volymer kan fortfarande finnas. Backa upp viktig data först.

Migrera från Docker Snap till Docker CE

Inspektera först vad som finns:

snap list | grep docker
docker info

Stoppa arbetsbelastningar och backa upp viktiga volymer eller bind-mounted data.

Ta bort snap:

sudo snap remove docker

Installera sedan Docker CE från det officiella APT-förvaret.

Var försiktig med dataplats. Snap-paket använder ofta olika sökvägar och inneslutningsregler. Anta inte att Docker Snap-data automatiskt dyker upp under standard /var/lib/docker-sökvägen efter migration.

För viktiga tjänster, exportera eller backa upp data explicit innan du byter paketkällor.

Spärra en Docker-version med APT

För produktionsliknande system kan du vilja ha kontrollerade uppdateringar.

Lista tillgängliga versioner:

apt list --all-versions docker-ce

Installera en specifik version:

VERSION_STRING="5:29.0.0-1~ubuntu.24.04~noble"

sudo apt install docker-ce=$VERSION_STRING \
  docker-ce-cli=$VERSION_STRING \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

Håll Docker-paket:

sudo apt-mark hold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Ta bort hållningen senare:

sudo apt-mark unhold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Gör detta när du behöver förutsägbara ändringsfönster. För en personlig laptop kan det vara onödigt.

Firewall och nätverksnoteringar

Docker modifierar packet filteringsregler för att göra container-nätverk fungera, vilket är viktigt om du använder UFW, firewalld, nftables eller anpassade firewall-regler.

Viktiga punkter:

  • Publicerade Docker-porter kan kringgå naiva UFW-förväntningar.
  • Docker använder iptables-integration.
  • Anpassade regler bör ta hänsyn till Docker-skapade kedjor.
  • Serverhårdning bör testas med verkliga container-portmappningar.
  • Anta inte att ufw deny skyddar en port publicerad av Docker.

Testa exponerade portar från en annan maskin, inte bara från localhost.

Exempel:

docker run --rm -p 8080:80 nginx

D sedan från en annan värd:

curl http://server-ip:8080

På servrar är Docker-nätverk en del av din säkerhetsmodell, inte en implementeringsdetalj du kan ignorera efter installation.

Vanliga fel och åtgärder

Permission Denied på Docker Socket

Fel:

permission denied while trying to connect to the Docker daemon socket

Åtgärdsalternativ:

Använd sudo:

sudo docker ps

Eller lägg till din användare i docker-gruppen:

sudo usermod -aG docker $USER
newgrp docker

Kom ihåg att docker-gruppen är root-ekvivalent i praktiken, så behandla gruppmedlemskap som ett privilegierat åtkomstbeslut.

Docker-daemon körs inte

Kontrollera status:

sudo systemctl status docker

Starta den:

sudo systemctl start docker

Kontrollera loggar:

journalctl -u docker --no-pager -n 100

Konfliktande Docker-paket

Om installation av Docker CE misslyckas på grund av konflikter, ta bort gamla paket. Om APT själv är i dåligt skick efter att ha lagt till Docker-förvaret, arbetar genom Ubuntu APT-felsökning för trasiga paket och GPG-fel innan du försöker igen.

sudo apt remove docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc

Försök sedan igen:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Compose-kommando hittades inte

Kontrollera modern Compose:

docker compose version

Installera plugin:

sudo apt install docker-compose-plugin

Om du förväntade dig det gamla kommandot:

docker-compose version

Du kan följa gammal dokumentation. Föredra att uppdatera kommandot till docker compose.

Gamal root-ägd Docker-konfiguration

Om du körde Docker med sudo innan du satte upp gruppåtkomst, kan din användarkonfiguration ägas av root.

Åtgärda ägarskap:

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

Eller ta bort konfigurationen om du inte behöver den:

sudo rm -rf "$HOME/.docker"

Den kommer att skapas om.

Kan inte ansluta till Rootless Docker

Kontrollera miljö:

echo "$DOCKER_HOST"

Kontrollera användartjänst:

systemctl --user status docker

Ställ in socket-sökvägen vid behov:

export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock

Lägg till den i din shell-profil först efter att ha bekräftat att den är korrekt.

Avinstallera Docker Engine

Ta bort Docker CE-paket:

sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

Ta bort Docker-data endast om du verkligen vill ta bort avbilder, containrar och volymer:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Ta bort Docker-förvarsfiler:

sudo rm -f /etc/apt/sources.list.d/docker.sources
sudo rm -f /etc/apt/keyrings/docker.asc

Uppdatera APT:

sudo apt update

För Docker Snap:

sudo snap remove docker

För Ubuntu docker.io:

sudo apt purge docker.io docker-compose-v2

Rekommenderad installationsväg för de flesta Ubuntu-användare

För de flesta tekniska Ubuntu-användare är detta den rena vägen:

sudo apt remove docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc

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 > /dev/null <<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

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo docker run hello-world

Bestäm sedan om du vill ha gruppåtkomst för bekvämlighet eller rootless Docker för tätare isolering:

sudo usermod -aG docker $USER
newgrp docker
docker run hello-world

Slutlig opinionerad vägledning

Docker-installation på Ubuntu är ett operativt val, inte bara ett paketval. Metoden du väljer påverkar uppdateringar, säkerhetsgränser och hur nära din värd matchar upstream Docker-dokumentation.

Mina praktiska regler är:

  • Använd Docker:s officiella APT-förvar för de flesta utvecklings- och DevOps-maskiner.
  • Använd Ubuntu docker.io när Ubuntu-förvarskonsistens väger tyngre än upstream färskhet.
  • Undvik Docker Snap för allvarliga container-arbetsflöden om du inte medvetet vill ha Snap-beteende.
  • Undvik bekvämlighetsscriptet för produktionsvärdar.
  • Använd modern docker compose, inte gammal docker-compose.
  • Behandla docker-gruppen som privilegierad åtkomst.
  • Överväg rootless Docker när användarisolering är viktig.
  • Spärra versioner på produktionsliknande system.
  • Testa firewall-beteende när du publicerar porter på servrar.

Den mest tråkiga Docker-installationen är vanligtvis den bästa: officiell APT-förvar, explicit keyring, Compose-plugin, systemd-tjänst, förstådda behörigheter och inget mysterie paketeringslager i mitten. När motorerna är på plats är multi-service-arbetsbelastningar — inklusive självhostade LLM-stacks — ett naturligt nästa steg; se till exempel Ollama in Docker Compose för att köra lokala modeller i containrar. För att hålla en Compose-stack igång över omstartar på en server, går Run Docker Compose as a Linux Service with systemd igenom unit-filer och operativa vanor.

Läs mer

Prenumerera

Få nya inlägg om system, infrastruktur och AI-ingenjörskonst.