Docker installeren op Ubuntu: APT, Snap, Rootless — Complete Gids 2026

Kies het juiste Docker-installatiepad op Ubuntu.

Inhoud

Het installeren van Docker op Ubuntu zou eenvoudig moeten zijn, maar in de praktijk concurreren verschillende Docker-achtige opties om dezelfde commandonamen, elk met verschillende pakketindeling, upgrade-gedrag en veiligheidsimplicaties.

Deze gids vergelijkt alle belangrijke installatiepaden, zodat je die kunt kiezen die het beste bij je machine past.

De opties die je zult tegenkomen, zijn:

  • docker.io uit de Ubuntu-repositories
  • docker-ce uit de officiële APT-repository van Docker
  • Docker via Snap
  • Docker Desktop
  • handmatig gedownloade .deb-pakketten
  • het Docker convenience-script
  • rootless Docker

docker workplace

Hoewel ze allemaal container-tools bieden, zijn ze niet onderling verwisselbare pakketten. De beste keuze hangt af van of de machine een ontwikkelaarsworkstation is, een CI-runner, een kleine server, een zelfgehoste box of een productiehost. Mijn standaardaanbeveling is rustig maar krachtig: voor de meeste technische gebruikers op normale Ubuntu-machines, installeer Docker Engine uit de officiële APT-repository van Docker. Gebruik Ubuntu’s docker.io alleen wanneer distributie-integratie belangrijker is dan upstream Docker-pakketten. Vermijd het Snap-pakket tenzij je specifiek Snap-gedrag wilt en de beperkingen begrijpt. Rootless Docker is de moeite waard om te kennen, maar het is niet automatisch de beste standaard voor elke machine.

Deze gids legt de afwegingen uit, behandelt beveiliging na installatie en geeft je schone installatiepaden voor elke methode. Zodra Docker Engine draait, is de Docker Cheatsheet je dagelijkse commandoreferentie, en dekt de Docker Compose Cheatsheet multi-container-opstellingen. Beide staan naast Git, VS Code en CI/CD-gidsen in Developer Tools: De Complete Gids voor Moderne Ontwikkelingsworkflows.

Snelle Aanbeveling

De onderstaande tabel samenvat welk installatiepad past bij veelvoorkomende scenario’s.

Gebruiksgeval Aanbevolen installatie
Ontwikkelersworkstation Officiële APT-repository van Docker
CI-runner Officiële APT-repository van Docker, versie vastgezet indien nodig
Kleine zelfgehoste server Officiële APT-repository van Docker
Productieserver Officiële APT-repository van Docker, gecontroleerde upgrades
Conserveratieve Ubuntu-only systeem Ubuntu docker.io-pakket
Snel desktopexperiment Docker Desktop of officiële APT-repository
Snap-beheerde Ubuntu-opstelling Docker Snap, met voorzichtigheid
Sterke non-root daemon-eis Rootless Docker
Air-gapped host Handmatige .deb-pakketten of interne mirror

Als je geen specifieke reden hebt om anders te kiezen, is de officiële APT-repository van Docker de standaard.

Wat Wordt Geïnstalleerd

Een normale Docker Engine-opstelling omvat verschillende onderdelen:

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

Moderne Docker Compose wordt meestal geïnstalleerd als Docker CLI-plugin. Dat betekent dat het commando is:

docker compose version

Niet:

docker-compose version

Het oude docker-compose-commando bestaat nog steeds in oudere gidsen en oudere systemen, maar nieuwe Ubuntu-opstellingen moeten over het algemeen de Compose-plugin gebruiken.

Optie 1: Docker Installeren uit de Officiële APT-Repository van Docker

Dit is de beste standaard voor de meeste ontwikkelaars en DevOps-gebruikers. Je krijgt Docker’s upstream-pakketten, actuele Docker Engine-releases, Buildx, Compose-plugin en een normale APT-upgradepad.

Verwijder Eerst Conflicterende Pakketten

Voordat je Docker CE installeert, verwijder pakketten die kunnen conflicteren met de officiële Docker-pakketten.

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

Het is prima als APT zegt dat sommige van deze pakketten niet zijn geïnstalleerd.

Dit commando verwijdert geen Docker-images, containers, volumes of netwerken die onder /var/lib/docker zijn opgeslagen. Als je een schone reset wilt, is dat een aparte stap en moet dat bewust gebeuren.

Voeg de Officiële APT-Repository van Docker Toe

Installeer vereisten:

sudo apt update
sudo apt install ca-certificates curl

Maak de keyring-map aan:

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

Download de repository-sleutel van Docker:

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

Stel APT in om de sleutel te lezen:

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

Voeg de Docker-repository toe met behulp van het deb822 .sources-formaat:

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

Werk APT-metadata bij:

sudo apt update

Installeer Docker Engine, Buildx en Compose

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

Controleer de service:

sudo systemctl status docker

Als het niet draait:

sudo systemctl start docker

Verifieer de installatie:

sudo docker run hello-world

Controleer versies:

docker --version
docker buildx version
docker compose version

Op dit punt werkt Docker, hoewel je nog steeds sudo nodig hebt voor de meeste commando’s, tenzij je non-root-toegang configureert in het post-installatiegedeelte hieronder.

Optie 2: Docker Installeren uit Ubuntu-Repositories

Ubuntu biedt het docker.io-pakket, dat je kunt installeren met:

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

Start en activeer Docker:

sudo systemctl enable --now docker

Verifieer:

sudo docker run hello-world

Wanneer Ubuntu docker.io Zin Heeft

Ubuntu’s pakket kan een goede keuze zijn wanneer:

  • Je de voorkeur geeft aan door Ubuntu onderhouden pakketten.
  • Je een versie wilt die is afgestemd op het releaseproces van Ubuntu.
  • Je veel Ubuntu-hosts beheert met standaardrepositories.
  • Je niet de nieuwste upstream Docker-release nodig hebt.
  • Je minder third-party APT-bronnen wilt.

Dit is een redelijke keuze. Het is niet “fout”.

Wanneer Ubuntu docker.io Niet Ideaal Is

Gebruik de officiële repository van Docker in plaats daarvan wanneer:

  • Je de huidige upstream Docker Engine wilt.
  • Je de eigen documentatie van Docker volgt.
  • Je vertrouwt op actueel Buildx- en Compose-gedrag.
  • Je Docker CE-pakkettijden wilt.
  • Je problemen debugt tegenover upstream Docker-documentatie.
  • Je predictabele Docker-versiepariteit nodig hebt over distributies heen.

Mijn bias: voor ontwikkelaarsmachines en container-zware hosts, gebruik de officiële APT-repository van Docker. Voor conservatieve, door Ubuntu beheerde machines, is docker.io acceptabel.

Optie 3: Docker Installeren met Snap

De Docker snap wordt geïnstalleerd met één commando, maar eenvoud betekent niet altijd voorspelbaar gedrag op een server of ontwikkelingsmachine.

sudo snap install docker

Snap-pakketten hebben hun eigen pakketmodel, upgrade-gedrag, confinement-aannames en bestandssysteemindeling. Dat is prima voor veel desktopapps, maar Docker Engine is al een systeemniveau-container-runtime, dus de extra Snap-laag kan mensen verrassen. Als je andere software beheert met Snap, legt de Snap Package Manager Cheatsheet kanalen, confinement en upgrade-gedrag in meer detail uit.

Wanneer Docker Snap Zin Heeft

Docker Snap kan redelijk zijn wanneer:

  • Je bewust software beheert met Snap.
  • Je Ubuntu Core of een Snap-zware omgeving gebruikt.
  • Je snap-stijl automatische updates wilt.
  • Je experimenteert en het niet erg vindt om niet te matchen met Docker’s upstream APT-instructies.

Waarom Ik Doorgaans Docker Snap Vermijd

Ik vermijd doorgaans de Docker snap voor ontwikkelings- en servergebruik omdat:

  • De meeste Docker-documentatie uitgaat van de standaard Docker Engine-indeling.
  • Probleemoplossingspaden kunnen verschillen van APT-installaties.
  • Servicebeheer minder transparant kan voelen.
  • Snap-auto-updates onhandig kunnen zijn voor infrastructuursoftware.
  • Sommige bind mounts, sockets en host-integratiedetails je kunnen verrassen.

Als Docker centraal staat in je workflow, installeer het dan als infrastructuur in plaats van als een casual desktopapp — zelfs wanneer een Snap-installatie oppervlakkig aantrekkelijk lijkt.

Optie 4: Docker Installeren uit Handmatige .deb-Pakketten

Handmatige .deb-installatie is nuttig wanneer:

  • De machine geen externe APT-repositories kan gebruiken.
  • Je een offline installatieproces bouwt.
  • Je pakketten intern mirror.
  • Je strenge change control nodig hebt.

De afweging is onderhoud, omdat je nieuwe pakketten handmatig moet downloaden en installeren wanneer je upgradet.

Een handmatige installatie vereist meestal deze pakketten:

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

Installeer ze met:

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

Los vervolgens ontbrekende afhankelijkheden op indien nodig:

sudo apt --fix-broken install

Verifieer:

sudo systemctl status docker
sudo docker run hello-world

Handmatige .deb-installaties zijn niet mijn eerste keuze, maar ze blijven geldig voor gecontroleerde of air-gapped omgevingen waar expliciete pakketgoedkeuring belangrijker is dan gemak.

Optie 5: Gebruik het Convenience Script van Docker

Docker biedt een convenience script:

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

Je kunt voorafzien wat het zou doen:

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

Het convenience script is nuttig voor wegwerptestmachines, demos, labs en wegwerp-omgevingen, maar ik zou het niet als hoofdinstallatiemethode gebruiken voor productiesystemen. Een script dat repositories configureert en pakketten niet-interactief installeert, is handig, maar langlevende infrastructuur verdient expliciete, reviewbare stappen — dus voor productiehosts, gebruik de APT-repository-methode direct.

Docker Desktop vs Docker Engine op Ubuntu

Docker Desktop voor Linux is een ander product dan Docker Engine. Docker Engine is de server-side runtime en CLI-workflow die de meeste Linux-servergebruikers verwachten, terwijl Docker Desktop een GUI, Desktop-integraties en een productervaring toevoegt die dichter bij macOS en Windows Docker-gebruik ligt.

Gebruik Docker Desktop wanneer:

  • Je een grafische Docker-ervaring wilt.
  • Je Desktop-functies wilt.
  • Je aligneert met een team dat streeft naar Docker Desktop als standaard.
  • Je het niet erg vindt om de extra laag te hebben.

Gebruik Docker Engine wanneer:

  • Je een server draait.
  • Je een eenvoudige Linux-native runtime wilt.
  • Je de voorkeur geeft aan door systemd beheerde services.
  • Je CI, DevOps of zelfgehoste infrastructuur bouwt.
  • Je de GUI niet nodig hebt.

Voor een geavanceerd technisch blogpubliek is Docker Engine meestal de interessantere standaard op Linux-servers en CI-hosts.

Post-Installatie: Docker Uitvoeren Zonder Sudo

Na installatie werkt dit:

sudo docker ps

Maar dit kan falen:

docker ps

Dat komt omdat de Docker daemon luistert op een Unix socket die eigendom is van root. De veelvoorkomende oplossing is om je gebruiker toe te voegen aan de docker-groep.

Maak de groep aan indien nodig:

sudo groupadd docker

Voeg je gebruiker toe:

sudo usermod -aG docker $USER

Pas het nieuwe groepslidmaatschap toe:

newgrp docker

Of log uit en log opnieuw in.

Test:

docker run hello-world

Belangrijke Veiligheidsopmerking over de Docker-groep

De docker-groep is geen onschuldig handigheids-groep. Een gebruiker die de Docker daemon kan beheren, kan meestal root-equivalente controle over de host krijgen, dus voor een persoonlijke ontwikkelaarsmachine is dit vaak acceptabel, maar op een gedeelde server is het een ernstige toegangscontrole-beslissing. Behandel lidmaatschap van de docker-groep als admin-toegang, en als dat te breed voelt, overweeg dan rootless Docker.

Rootless Docker op Ubuntu

Rootless Docker draait de Docker daemon en containers als een non-root-gebruiker. Dit is niet hetzelfde als je gebruiker toevoegen aan de docker-groep — met de docker-groep draait de daemon nog steeds als root, terwijl in rootless-modus de daemon zelf draait als jouw gebruiker.

Wanneer Rootless Docker Zin Heeft

Rootless Docker is nuttig wanneer:

  • Je het root-risico op daemon-niveau wilt verminderen.
  • Je op een gedeelde ontwikkelingsmachine bent.
  • Je door gebruikers bezitten containers draait.
  • Je niet elke geavanceerde netwerk- en opslagfunctie nodig hebt.
  • Je een veiligere standaard wilt voor experimentele workloads.

Wanneer Rootless Docker Irriterend Kan Zijn

Rootless Docker kan minder handig zijn wanneer:

  • Je privileged containers nodig hebt.
  • Je vertrouwt op low port-binding zonder extra opzet.
  • Je sommige host-netwerkpatronen nodig hebt.
  • Je gedrag verwacht dat identiek is aan rootful Docker.
  • Je gidsen volgt die geschreven zijn voor normale Docker Engine-installaties.

Rootless-modus verbetert de veiligheidspositie, maar het is niet wrijvingsloos in vergelijking met een standaard rootful-installatie.

Installeer Rootless Docker

Installeer vereisten:

sudo apt update
sudo apt install uidmap

Als je Docker hebt geïnstalleerd vanuit DEB- of APT-pakketten, moet de rootless-setuptool beschikbaar zijn:

dockerd-rootless-setuptool.sh install

Als rootful Docker al draait en je alleen rootless Docker wilt, schakel de systeemdaemon uit:

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

Je moet ook mogelijk de rootful socket verwijderen:

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

Na het installeren van rootless Docker, print de setuptool meestal omgevingsvariabelen die je aan je shell-profiel moet toevoegen. Ze zien er meestal zo uit:

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

Jouw UID kan verschillen. Controleer de exacte output van de setuptool.

Schakel lingering in als je wilt dat de gebruikersservice blijft draaien na afmelden:

sudo loginctl enable-linger $USER

Controleer de gebruikersservice:

systemctl --user status docker

Draai een testcontainer:

docker run hello-world

Rootful Docker vs Rootless Docker

Onderwerp Rootful Docker Rootless Docker
Daemon gebruiker root normale gebruiker
Commandogemak hoog middelmatig
Compatibiliteit het hoogste goed, maar niet perfect
Veiligheidspositie zwakker per default beter per default
Privileged containers ondersteund beperkt
Lage poorten eenvoudig vereist extra opzet
Servergebruik veelvoorkomend mogelijk, maar plan zorgvuldig
Ontwikkelaarsworkstation veelvoorkomend goed voor veiligheidsbewuste gebruikers

Mijn praktische aanbeveling:

  • Gebruik normale rootful Docker voor een persoonlijke dev-machine of eenvoudige server.
  • Voeg alleen vertrouwde gebruikers toe aan de docker-groep.
  • Gebruik rootless Docker wanneer gebruikersisolatie belangrijk is.
  • Doe niet alsof de docker-groep een veiligheidsboundary is.

Schakel Docker in bij het Opstarten

Op Ubuntu start Docker, geïnstalleerd uit normale pakketten, meestal automatisch, maar het is de moeite waard om te bevestigen na een frisse installatie of migratie.

Controleer:

systemctl is-enabled docker
systemctl is-enabled containerd

Schakel handmatig in indien nodig:

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

Start nu:

sudo systemctl start docker

Schakel automatisch starten uit:

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

Voor rootless Docker, gebruik de gebruikersservice:

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

En schakel lingering in indien nodig:

sudo loginctl enable-linger $USER

Installeer of Verifieer Docker Compose

Met de officiële APT-repository van Docker, installeer Compose als plugin:

sudo apt update
sudo apt install docker-compose-plugin

Verifieer:

docker compose version

Als je het Ubuntu-pakket hebt geïnstalleerd, kun je gebruiken:

sudo apt install docker-compose-v2

Voorkeur:

docker compose up -d

In plaats van de oude stijl:

docker-compose up -d

Het met koppelteken geschreven docker-compose-commando behoort tot het oudere tijdperk van standalone Compose. Veel systemen hebben het nog steeds, maar nieuwe documentatie moet docker compose gebruiken.

Controleer Welke Docker Je Hebt Geïnstalleerd

Wanneer je een machine overneemt of een gebroken opstelling debugt, helpen deze commando’s te identificeren welke Docker-pakketindeling daadwerkelijk wordt gebruikt.

Controleer het Docker-binaire bestand:

which docker

Controleer pakketbezit:

dpkg -S "$(which docker)"

Lijst Docker-gerelateerde pakketten:

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

Controleer APT-beleid:

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

Controleer Snap:

snap list | grep docker

Controleer servicestatus:

systemctl status docker
systemctl status containerd

Controleer Docker-serverdetails:

docker info

Als docker info faalt zonder sudo, controleer je groepslidmaatschap:

groups

Migreer van Ubuntu docker.io naar Docker CE

Stop Docker:

sudo systemctl stop docker

Verwijder Ubuntu-pakketten:

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

Voeg de officiële APT-repository van Docker toe met behulp van de stappen hierboven.

Installeer Docker CE:

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

Start Docker:

sudo systemctl start docker

Controleer bestaande containers:

docker ps -a
docker images
docker volume ls

Normaal gesproken verwijderen pakketten /var/lib/docker niet, dus je images, containers en volumes kunnen nog steeds bestaan. Maak nog steeds back-up van belangrijke gegevens eerst.

Migreer van Docker Snap naar Docker CE

Inspecteer eerst wat er bestaat:

snap list | grep docker
docker info

Stop workloads en maak back-up van belangrijke volumes of bind-mounted data.

Verwijder de snap:

sudo snap remove docker

Installeer vervolgens Docker CE uit de officiële APT-repository.

Wees voorzichtig met datalocaties. Snap-pakketten gebruiken vaak andere paden en confinement-regels. Ga niet ervan uit dat Docker Snap-data automatisch zal verschijnen onder het standaard /var/lib/docker-pad na migratie.

Voor belangrijke services, exporteer of maak expliciet back-up van data voordat je van pakketbron wisselt.

Pin een Docker-versie met APT

Voor productie-achtige systemen, wil je misschien gecontroleerde upgrades.

Lijst beschikbare versies:

apt list --all-versions docker-ce

Installeer een specifieke versie:

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

Houd Docker-pakketten vast:

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

Verwijder het vasthouden later:

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

Doe dit wanneer je predictabele change windows nodig hebt. Voor een persoonlijke laptop kan het onnodig zijn.

Firewall- en Netwerknotities

Docker wijzigt packet filtering-regels om container-netwerken te laten werken, wat belangrijk is als je UFW, firewalld, nftables of aangepaste firewallregels gebruikt.

Belangrijke punten:

  • Gepubliceerde Docker-poorten kunnen naïeve UFW-verwachtingen omzeilen.
  • Docker gebruikt iptables-integratie.
  • Aangepaste regels moeten rekening houden met door Docker aangemaakte chains.
  • Server-hardening moet getest worden met echte container-poortmapping.
  • Ga niet ervan uit dat ufw deny een door Docker gepubliceerde poort beschermt.

Test blootgestelde poorten vanaf een andere machine, niet alleen vanaf localhost.

Voorbeeld:

docker run --rm -p 8080:80 nginx

Vervolgens vanaf een andere host:

curl http://server-ip:8080

Op servers is Docker-netwerken onderdeel van je veiligheidsmodel, geen implementatiedetail dat je na installatie kunt negeren.

Veelvoorkomende Fouten en Oplossingen

Permission Denied op Docker Socket

Fout:

permission denied while trying to connect to the Docker daemon socket

Opties voor oplossing:

Gebruik sudo:

sudo docker ps

Of voeg je gebruiker toe aan de docker-groep:

sudo usermod -aG docker $USER
newgrp docker

Onthoud dat de docker-groep in de praktijk root-equivalent is, dus behandel groepslidmaatschap als een privilege-toegangsbepaling.

Docker Daemon Draait Niet

Controleer status:

sudo systemctl status docker

Start het:

sudo systemctl start docker

Controleer logs:

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

Conflicterende Docker-pakketten

Als het installeren van Docker CE faalt vanwege conflicten, verwijder oude pakketten. Als APT zelf in een slechte staat is na het toevoegen van de Docker-repository, werk door Ubuntu APT-probleemoplossing voor gebroken pakketten en GPG-fouten voordat je opnieuw probeert.

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

Probeer het opnieuw:

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

Compose-commando Niet Gevonden

Controleer moderne Compose:

docker compose version

Installeer plugin:

sudo apt install docker-compose-plugin

Als je het oude commando verwachtte:

docker-compose version

Je volgt mogelijk oude documentatie. Geef de voorkeur aan het bijwerken van het commando naar docker compose.

Oude Root-bezitte Docker-configuratie

Als je Docker met sudo hebt uitgevoerd voordat je groeps toegang opzette, kan je gebruikersconfiguratie eigendom zijn van root.

Los bezit op:

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

Of verwijder de configuratie als je die niet nodig hebt:

sudo rm -rf "$HOME/.docker"

Het zal opnieuw worden aangemaakt.

Kan Niet Verbinden met Rootless Docker

Controleer omgeving:

echo "$DOCKER_HOST"

Controleer gebruikersservice:

systemctl --user status docker

Stel het socket-pad in indien nodig:

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

Voeg het alleen toe aan je shell-profiel nadat je hebt bevestigd dat het correct is.

Docker Engine Verwijderen

Verwijder Docker CE-pakketten:

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

Verwijder Docker-data alleen als je echt images, containers en volumes wilt verwijderen:

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

Verwijder Docker-repository-bestanden:

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

Ververs APT:

sudo apt update

Voor Docker Snap:

sudo snap remove docker

Voor Ubuntu docker.io:

sudo apt purge docker.io docker-compose-v2

Aanbevolen Installatiepad voor de Meeste Ubuntu-Gebruikers

Voor de meeste technische Ubuntu-gebruikers, dit is het schone pad:

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

Bepaal vervolgens of je groeps toegang wilt voor gemak of rootless Docker voor strakkere isolatie:

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

Definitieve Opinionated Richtlijnen

Docker-installatie op Ubuntu is een operationele keuze, niet alleen een pakketkeuze. De methode die je kiest, beïnvloedt upgrades, veiligheidsboundary’s en hoe dicht je host bij de upstream Docker-documentatie ligt.

Mijn praktische regels zijn:

  • Gebruik de officiële APT-repository van Docker voor de meeste ontwikkelaars- en DevOps-machines.
  • Gebruik Ubuntu docker.io wanneer Ubuntu-repositoryconsistentie belangrijker is dan upstream-versheid.
  • Vermijd Docker Snap voor serieuze containerworkflows tenzij je bewust Snap-gedrag wilt.
  • Vermijd het convenience script voor productiehosts.
  • Gebruik moderne docker compose, niet het oude docker-compose.
  • Behandel de docker-groep als privilege-toegang.
  • Overweeg rootless Docker wanneer gebruikersisolatie belangrijk is.
  • Pin versies op productie-achtige systemen.
  • Test firewallgedrag bij het publiceren van poorten op servers.

De saaiste Docker-installatie is meestal de beste: officiële APT-repository, expliciete keyring, Compose-plugin, systemd-service, begrepen permissies en geen mysterieuze pakketlaag in het midden. Zodra de engine op zijn plaats is, zijn multi-service workloads — inclusief zelfgehoste LLM-stacks — een logische volgende stap; zie bijvoorbeeld Ollama in Docker Compose voor het uitvoeren van lokale modellen in containers. Om een Compose-stack draaiend te houden over herstarts heen op één server, doorloopt Run Docker Compose as a Linux Service with systemd unit-bestanden en operationele gewoonten.

Lees Meer

Abonneren

Ontvang nieuwe berichten over systemen, infrastructuur en AI-engineering.