Så installerar du Docker på Ubuntu
På den här sidan
Docker kör program i containrar: varje container har allt den behöver, så den fungerar likadant på din laptop som på en server. Webbplatser, databaser, botar och spelservrar kan alla startas med ett kommando eller en Compose-fil.
Den här guiden installerar Docker Engine och Docker Compose på Ubuntu 24.04 eller 22.04 från Dockers officiella förråd och går sedan igenom inställningarna som spelar roll på en riktig server: behörigheter, loggar och brandväggen.
Innan du börjar
- En Ubuntu som stöds: Docker stöder 64-bitarsversionerna av Ubuntu 26.04, 24.04 och 22.04 LTS. Kontrollera din med
cat /etc/os-release. - En KVM-server, inte en container: Docker behöver egna kärnfunktioner. Det körs på alla KVM-VPS, men ofta inte på containerbaserade paket (OpenVZ eller LXC).
- Root eller en användare med sudo. Kommandona nedan använder
sudo; är du inloggad som root kan du utelämna det.
Undvik paketet docker.io från Ubuntus eget förråd och Snap-versionen på servrar: Dockers förråd får nya versioner först, och det är det som Dockers egen dokumentation använder.
Docker behöver en riktig virtuell maskin: HytHosts KVM VPS-paket med Ubuntu och full root kostar från €2.92/mån.
Se VPS-paketSteg 1: Ta bort paket som krockar
Om du tidigare har installerat Docker från en annan källa, ta bort de paketen först. På en ny server meddelar apt bara att inga av dem är installerade:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
Images och volymer i /var/lib/docker/ raderas inte av detta.
Steg 2: Lägg till Dockers förråd
De här kommandona från Dockers dokumentation lägger till Dockers signeringsnyckel och dess apt-förråd för din Ubuntu-version:
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: Installera Docker och Compose
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Detta installerar Docker Engine, kommandoradsverktyget, Buildx-byggaren och Compose-pluginet. Kontrollera att det fungerar:
sudo docker run hello-world docker compose version
Det första kommandot laddar ner en liten testimage och skriver ut ett välkomstmeddelande. På Ubuntu startar Docker automatiskt vid uppstart, så det finns inget att aktivera.
Compose är kommandot docker compose, med mellanslag. Gamla docker-compose med bindestreck är den pensionerade första versionen; guider som fortfarande använder den fungerar även med det nya kommandot.
Steg 4: Behörigheter och loggrotation
Kör docker utan sudo. Lägg till din användare i gruppen docker och logga sedan ut och in igen:
sudo usermod -aG docker $USER
Tänk på att Docker själv varnar för att den här gruppen ger behörigheter på root-nivå: alla i den kan styra hela servern. Lägg bara till användare som du skulle ge root.
Begränsa loggstorleken. Som standard växer containerloggar utan gräns och kan fylla disken. Skapa /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Kör sedan sudo systemctl restart docker. Gränsen gäller containrar som skapas efter ändringen, så skapa om befintliga.
Din första Compose-fil
Compose beskriver dina containrar i en enda fil. Skapa en mapp med en compose.yaml:
services:
web:
image: nginx:stable
ports:
- "127.0.0.1:8080:80"
restart: unless-stopped
Starta den med docker compose up -d, kontrollera den med docker compose ps och läs loggarna med docker compose logs. restart: unless-stopped startar containern igen efter en krasch eller omstart. Porten är bunden till 127.0.0.1 med avsikt, vilket nästa avsnitt förklarar.
Docker och ufw: brandväggsfällan
Den här lurar nästan alla. När du publicerar en port, till exempel -p 8080:80, lägger Docker till egna brandväggsregler som tillämpas före ufws. Porten är öppen mot internet även om ufw säger att den är stängd.
- Bind portar till localhost när bara servern själv behöver dem, till exempel en databas eller en app bakom en omvänd proxy:
127.0.0.1:8080:80. - Publicera inte databasportar alls; låt i stället containrarna nå varandra över ett Docker-nätverk.
- För filtrering på källadress lägger du till regler i iptables-kedjan
DOCKER-USER, som Docker kontrollerar före sina egna.
Samma sak gäller spelservrar som körs i Docker; se så sätter du upp en VPS för spelservrar.
Docker på en HytHost VPS
HytHosts VPS-paket körs på KVM, så varje VPS har sin egen kärna och Docker körs utan begränsningar. Välj Ubuntu 24.04 eller 22.04 vid beställningen, anslut via SSH och följ stegen ovan. Du får full root-åtkomst, SSD-lagring och DDoS-skydd, och du kan uppgradera till ett större paket senare när dina containrar växer.
Vanliga frågor
Docker stöder 64-bitarsversionerna av Ubuntu 26.04, 24.04 och 22.04 LTS. Andra Ubuntu-baserade system, som Linux Mint, stöds inte officiellt.
Inte på en produktionsserver. Docker säger att deras bekvämlighetsskript är avsett för utvecklingsmiljöer och inte rekommenderas för produktion; det kan också hoppa till en ny huvudversion. Använd förrådsmetoden i stället.
docker-compose med bindestreck är den gamla, pensionerade versionen. I dag är Compose ett Docker-plugin som används som docker compose och installeras med paketet docker-compose-plugin.
Portar som Docker publicerar kringgår ufw. Bind porten till 127.0.0.1 om den ska vara lokal, eller filtrera den i kedjan DOCKER-USER.
På en KVM VPS, ja. Containerbaserade VPS-paket, som OpenVZ, kan ofta inte köra Docker eller kräver särskilda inställningar från leverantören.
Kör dina containrar på en VPS
HytHosts KVM VPS-paket kör Docker utan begränsningar, med full root-åtkomst och Ubuntu 24.04, från €2.92/mån.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursVar den här guiden till hjälp?