Docker installeren op Ubuntu: APT, Snap, Rootless — Complete Gids 2026
Kies het juiste Docker-installatiepad op Ubuntu.
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.iouit de Ubuntu-repositoriesdocker-ceuit de officiële APT-repository van Docker- Docker via Snap
- Docker Desktop
- handmatig gedownloade
.deb-pakketten - het Docker convenience-script
- rootless Docker

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.iodocker-cedocker-ce-clidocker-buildx-plugindocker-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 denyeen 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.iowanneer 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 oudedocker-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
- https://docs.docker.com/engine/install/ubuntu/ “Install Docker Engine on Ubuntu | Docker Docs”
- https://packages.ubuntu.com/noble/docker.io “Ubuntu - Details of package docker.io in noble”