Ga naar hoofdinhoud

Docker installeren op Ubuntu: van setup tot je eerste container

Van een verse OS-installatie tot het draaien van je eerste gecontaineriseerde applicatie zijn maar een paar commando’s nodig. Leer hoe dat werkt met deze ultieme Docker-Ubuntu-setupgids.
· 11 min lezen

Verken met AI

Als je wilt stoppen met zeggen, "het werkt op mijn machine," dan is containerization de manier om te gaan.

Kort gezegd stelt containerization je in staat om je applicaties te verpakken in lichte, geïsoleerde omgevingen die containers worden genoemd. Deze containers bevatten alles wat nodig is om de applicatie te draaien, zoals code en dependencies, maar niets overbodigs. Een gecontaineriseerde applicatie draait consistent in verschillende omgevingen, of dat nu op je laptop is, een testserver of in productie.

Docker blijft in 2025 het platform bij uitstek voor het containerizen van applicaties. Het kan op elk besturingssysteem draaien, maar zoals met de meeste ontwikkeltools hebben UNIX-gebaseerde systemen de voorkeur.

In dit artikel leer je hoe je Docker op Ubuntu installeert, je eerste container start en draaiende containers beheert en monitort.

De installatie is eenvoudig, maar omvat een paar stappen. Laten we erin duiken!

Is Docker hetzelfde als Kubernetes? Hier zijn alle verschillen die elke developer moet kennen.

Je Ubuntu-systeem voorbereiden

Voordat je Docker op Ubuntu installeert, zijn er een paar klusjes om af te handelen. Je regelt ze allemaal in deze sectie.

Zorg er om te beginnen voor dat je een Ubuntu-systeem draait, ofwel de Desktop- of Serverversie. Wij gebruiken Ubuntu Server 24.04:

Details van het besturingssysteem

Afbeelding 1 - Details van het besturingssysteem

Als je een vergelijkbare output ziet als op de afbeelding hierboven, ben je klaar om te beginnen.

Controleer systeemeisen

Controleer voordat je Docker installeert of je systeem genoeg resources heeft om het te draaien.

Hoewel Docker op zijn website geen minimumvereisten specificeert (afgezien van compatibele CPU-architecturen), hebben wij gemerkt dat het volgende voldoende is om Docker zelf te draaien:

  • Besturingssysteem: Ubuntu Desktop/Server 20.04 of later  
  • CPU-architectuur: 64-bit (x86_64 of arm64)  
  • Geheugen: 512 MB RAM  
  • Opslag: 5 GB  

Een machine met deze specificaties laat je Docker draaien, maar niet veel meer. Verwacht geen complexe containers of multi-containerapplicaties te draaien.

Als je meer van plan bent, mik dan op minstens 2 GB RAM, 25 GB opslag en een moderne CPU.

Update je Ubuntu-systeem

We draaien Docker op een verse Ubuntu Server-installatie, dus we geven alle benodigde commando's om Docker-vereisten in te stellen.

Werk eerst de pakketlijst van je systeem bij en upgrade bestaande pakketten met het volgende commando:

sudo apt update && sudo apt upgrade -y

Dit proces kan een paar minuten duren, maar zorgt ervoor dat je pakketbeheerder de nieuwste pakketversies en beveiligingsupdates ophaalt.

Zorg voor vereisten

Docker heeft een paar dependencies nodig om correct te installeren en te functioneren. Voer dit commando uit om ze te installeren:

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

Kort gezegd: het bovenstaande commando maakt pakketdownloads via HTTPS mogelijk en installeert de tools die nodig zijn om Docker GPG-sleutels op te halen (waar we later op terugkomen).

En dat is het—je systeem is nu klaar om Docker te installeren!

Docker installeren op Ubuntu

Zodra aan de systeemvereisten is voldaan, is Docker installeren op Ubuntu een proces in vier stappen.

Stap 1: Voeg Docker’s officiële GPG-sleutel toe

Docker's GPG (GNU Privacy Guard)-sleutel wordt gebruikt om Docker-pakketten en -repositories te ondertekenen, zodat de integriteit en authenticiteit van Docker-images en -pakketten gewaarborgd zijn.

Begin met het uitvoeren van het juiste shell-commando om de sleutel te downloaden en een geconverteerde versie op te slaan die compatibel is met APT in /usr/share/keyrings.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Stap 2: Voeg Docker’s officiële APT-repository toe

Voeg nu de officiële Docker-repository toe aan je systeem.

Het volgende commando gebruikt de eerder opgeslagen GPG-sleutel om de authenticiteit van de repository te verifiëren en voegt deze vervolgens toe aan de systeempakketbronnen:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Werk daarna de pakketlijst van je systeem bij om de nieuwe repository op te nemen:

sudo apt update

Stap 3: Installeer Docker

Nu de repository is geconfigureerd, ben je klaar om Docker op Ubuntu te installeren.

Het installatiecommando installeert de kern van de Docker-engine, de command-line interface en de runtime voor het beheren van containeruitvoering:

sudo apt install -y docker-ce docker-ce-cli containerd.io

Zodra de installatie is voltooid, zou je een output moeten zien die de geslaagde installatie bevestigt:

Resultaten van de Docker-installatie

Afbeelding 2 - Resultaten van de Docker-installatie

Stap 4: Verifieer de Docker-installatie

Docker zou nu op je systeem geïnstalleerd moeten zijn.

Om te verifiëren, print je de Docker-versie naar de console. Als de installatie is gelukt, zou je een versienummer moeten zien:

docker --version

Geïnstalleerde Docker-versie

Afbeelding 3 - Geïnstalleerde Docker-versie

Eind januari 2025 is Docker versie 27.5.1 de nieuwste, en we hebben die succesvol draaien op Ubuntu Server.

Stappen na de installatie

Je hebt nu Docker geïnstalleerd en bent klaar om je applicaties te containerizen.

Maar wat is containerization? Onze cursus Containerization and Virtualization concepts leert je de basis.

Voordat je dat doet, raden we aan om drie extra configuratiestappen te doorlopen om er het maximale uit te halen. Deze sectie is voor jou als je Docker wilt draaien bij het opstarten van het systeem of images en containers wilt beheren als niet-rootgebruiker.

Stap 1: Start en activeer de Docker-service

De Docker-service draait momenteel op je systeem, maar start niet automatisch na een reboot.

Om ervoor te zorgen dat Docker automatisch start bij het opstarten, gebruik je systemctl om de service te activeren:

sudo systemctl enable docker

Je zou een output moeten zien die lijkt op de onze:

Docker-service inschakelen bij opstarten

Afbeelding 4 - Docker-service inschakelen bij opstarten

Als je in de toekomst ooit een melding ziet dat Docker niet draait (wat niet zou moeten gebeuren), kun je Docker handmatig starten met het volgende commando:

sudo systemctl start docker

Docker blijft nu actief zolang je systeem is ingeschakeld.

Stap 2: Controleer de status van Docker

Er zijn een paar extra systemctl-commando's die je kunt gebruiken om de Docker-service te beheren.

Zo toont het commando status de staat van een service, die meestal active, inactive of failed is. Hoewel er meer mogelijke staten zijn, komen deze drie het vaakst voor:

sudo systemctl status docker

Status van de Docker-service

Afbeelding 5 - Status van de Docker-service

Als je Docker-service actief is, draait alles correct.

Als je een andere status ziet voor Docker of een andere service, zou het herstarten ervan het probleem moeten oplossen:

sudo systemctl restart docker

Na het herstarten kun je de status opnieuw controleren om te bevestigen dat de service draait.

Stap 3: Beheer Docker als niet-rootgebruiker

Standaard vereisen Docker-commando's sudo, wat onhandig kan zijn. Dit betekent dat je sudo moet typen vóór elk docker-commando.

Gelukkig is er een makkelijke manier om niet-rootgebruikers Docker-commando's te laten uitvoeren—door de huidige gebruiker toe te voegen aan de groep docker:

sudo usermod -aG docker $USER

Na het uitvoeren van het bovenstaande commando moet je uit- en weer inloggen om de wijziging door te voeren. Je zou nu Docker-commando's moeten kunnen uitvoeren zonder superuserrechten.

Dat verifiëren we in de volgende sectie.

Docker-installatie testen

Docker is nu geïnstalleerd en geconfigureerd. Het start ook automatisch op en laat je gebruiker commando's direct uitvoeren.

In deze sectie ronden we af door twee containers te draaien—één voor een eenvoudige "Hello, World!"-voorbeeld en een andere voor een Python-script.

Stap 1: Start een test-Dockercontainer

Docker biedt een eenvoudige testimage genaamd hello-world, die uitsluitend wordt gebruikt om te bevestigen dat Docker correct werkt.

Voer het volgende commando uit om de image te starten:

docker run hello-world

Omdat de image lokaal niet wordt gevonden, downloadt Docker deze automatisch van het web. Na een paar momenten zou je een output moeten zien zoals deze:

Docker hello world-voorbeeld

Afbeelding 6 - Docker hello world-voorbeeld

Kortom, dit bevestigt dat Docker correct is geïnstalleerd, de Docker-daemon draait en je systeem images van Docker Hub kan ophalen.

Stap 2: Start je eerste "echte" container

Als je images vanaf nul wilt bouwen, is deze sectie voor jou.

We bouwen een eenvoudige image die Python 3.9 draait en bij het starten een aangepast Python-script uitvoert.

Begin met het maken van een aparte map en een app.py-bestand dat wordt uitgevoerd:

mkdir python-docker-test && cd python-docker-test
nano app.py

Het bestand bevat slechts één simpele print()-aanroep, maar je kunt het natuurlijk uitbreiden met complexere logica:

print("Hello from Docker running on Ubuntu!")

Maak in dezelfde map een Dockerfile, die Docker vertelt hoe de image stap voor stap te bouwen:

nano Dockerfile

Deze drie regels zijn alles wat je nodig hebt:

FROM python:3.9-slim
COPY app.py /app.py
CMD ["python", "/app.py"]

Kort samengevat: Docker krijgt de instructie om de python:3.9-slim-image van Docker Hub op te halen, het app.py-script naar de container te kopiëren en vervolgens het script uit te voeren.

Tegen nu zou je de volgende bestanden in je werkmap moeten hebben:

Inhoud van de demo-Pythonapplicatie

Afbeelding 7 - Inhoud van de demo-Pythonapplicatie

Om de image te bouwen, voer je het volgende commando uit:

docker build -t python-hello .

Het bovenstaande commando maakt een nieuwe image in de huidige map (.) en geeft deze de tag python-hello.

Een Docker-image bouwen

Afbeelding 8 - Een Docker-image bouwen

Om de image te draaien, gebruik je het commando docker run gevolgd door de imagetag. De optionele vlag --rm zorgt ervoor dat de container wordt verwijderd nadat hij afsluit, wat direct gebeurt nadat het Python-script klaar is:

docker run --rm python-hello

Een Python-script draaien in Docker

Afbeelding 9 - Een Python-script draaien in Docker

En zo heb je met Docker op Ubuntu succesvol je eerste Python-applicatie gecontainerized!

Zoek je een machine learning-toepassing van Docker? DataCamp's Containerization: Docker and Kubernetes for Machine Learning is een aanbevolen vervolgleesstuk.

Docker updaten en verwijderen op Ubuntu

Docker in je eigen omgeving draaien geeft je volledige controle, maar maakt je ook verantwoordelijk voor het bijhouden van de nieuwste updates, nieuwe features en beveiligingspatches.

Deze sectie legt uit hoe je basistaken uitvoert zoals Docker updaten en het volledig verwijderen van je systeem.

Docker updaten

Docker updaten komt neer op twee hoofd stappen:

  • De pakketlijst bijwerken om de nieuwste Docker-versie op te halen.
  • Docker upgraden (core, CLI en containerbeheer-runtime) naar de nieuwste versie.

Voer de volgende commando's in de terminal uit om Docker op Ubuntu te updaten:

sudo apt update
sudo apt upgrade -y docker-ce docker-ce-cli containerd.io
docker --version

Het commando docker -- version toont de momenteel geïnstalleerde versie. Dit is de eenvoudigste manier om te verifiëren of Docker succesvol is geüpdatet.

Docker verwijderen

Als je Docker van je systeem moet verwijderen, begin je met het deïnstalleren van Docker en gerelateerde pakketten en het verwijderen van overgebleven Docker-gerelateerde bestanden en configuraties.

Daarnaast kun je optioneel de Docker-repository uit de APT-bronnen verwijderen.

De volgende vier commando's verwijderen Docker van je Ubuntu-systeem, maar houd er rekening mee dat alleen de eerste drie vereist zijn:

sudo apt remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# Optional
sudo rm /etc/apt/sources.list.d/docker.list

Na het uitvoeren van deze commando's zou docker --version een fout moeten teruggeven die aangeeft dat Docker niet langer is geïnstalleerd.

Best practices voor Docker op Ubuntu

Docker beheren vereist doorlopend onderhoud, omdat jij verantwoordelijk bent voor het verwijderen van ongebruikte resources en het monitoren van performance.

In deze sectie behandelen we twee essentiële onderhoudstaken die je regelmatig zou moeten uitvoeren tijdens het draaien van Docker op Ubuntu.

Ruim regelmatig Docker-resources op

Na verloop van tijd kunnen ongebruikte Docker-images, containers, netwerken en volumes zich opstapelen en veel schijfruimte innemen.

Het opruimen van deze resources staat bekend als pruning, al valt een gedetailleerde uitleg buiten de scope van dit artikel.

Onthoud gewoon dit commando — het verwijdert in één keer alle ongebruikte containers, images, volumes en netwerken:

docker system prune -a -f

Resources opruimen

Afbeelding 10 - Resources opruimen

We hebben maar 10 kB teruggewonnen, maar in een meer “serieuze” omgeving kan dit commando vaak tientallen gigabytes aan schijfruimte vrijmaken.

Beveilig je Docker-installatie

We hebben al twee belangrijke beveiligingsonderwerpen behandeld — Docker up-to-date houden en superuserrechten beheren.

Daarnaast zijn hier nog een paar stappen om de Docker-beveiliging op Ubuntu te verbeteren:

  • Beperk containerprivileges: Vermijd waar mogelijk het draaien van containers met de vlag --privileged, omdat die veel security checks uitschakelt die containers van het hostsysteem isoleren.
  • Gebruik alleen officiële en vertrouwde images: Haal geen images binnen van niet-geverifieerde third-party registries. Blijf bij vertrouwde bronnen zoals Docker Hub en private registries.
  • Schakel Docker Content Trust (DCT) in: Het instellen van deze omgevingsvariabele zorgt ervoor dat alleen ondertekende en geverifieerde images worden gebruikt.

Monitor Docker-prestaties

De Docker-CLI bevat krachtige tools om containerprestaties te monitoren en potentiële problemen te identificeren.

Voordat we daarin duiken, passen we het bestand app.py aan zodat het blijft draaien nadat de container start:

import time

time.sleep(10000)
print("Hello from Docker running on Ubuntu!")

De reden is simpel — we hebben een draaiende container nodig om de prestaties te monitoren.

Laten we beginnen met het commando ps. Simpel gezegd, dit lijst alle momenteel draaiende containers op:

docker ps

Draaiende Dockercontainers

Afbeelding 11 - Draaiende Dockercontainers

Hoewel de output niet veel onthult, is het veld CONTAINER ID cruciaal voor verdere inspectie.

Laten we nu het commando stats verkennen, dat realtime resourcegebruik toont, waaronder CPU, geheugen en netwerkverbruik voor alle draaiende containers:

docker stats

Containerstatistieken

Afbeelding 12 - Containerstatistieken

Als je een gedetailleerde uitsplitsing nodig hebt van het resourcegebruik en de configuratie van een container, gebruik dan het commando inspect.

Geef gewoon het container-ID op:

docker inspect <container_id>

Containerdetails

Afbeelding 13 - Containerdetails

Als je problemen ondervindt met een Dockercontainer, kan het commando logs helpen om het probleem te diagnosticeren en mogelijk de oorzaak te achterhalen.

Hiervoor is ook het container-ID nodig:

docker logs <container_id>

Terminal met containerlogs

Afbeelding 14 - Containerlogs

Soms moet je misschien direct verbinding maken met een draaiende container. Als je het container-ID kent, is dit eenvoudig:

docker exec -it <container_id> bash

Terminal met containerlogs

Afbeelding 15 - Containerlogs

Het vorige commando opent een shell in de opgegeven Dockercontainer, zodat je direct toegang hebt tot of bestanden kunt wijzigen.

Docker op Ubuntu samengevat

Vandaag heb je geleerd hoe je Docker installeert, configureert en beheert op Ubuntu. 

Als je elke stap hebt gevolgd, draait Docker op je systeem, start het automatisch op en heb je geen superuserrechten nodig om containers te beheren. Je hebt ook geleerd hoe je de Docker-installatie verifieert, testcontainers draait en zelfs je eerste aangepaste, gecontaineriseerde Pythonapplicatie bouwt.

Het is veel, maar dit is pas het begin. Er is nog veel meer aan het hele containerization-verhaal, en we raden sterk aan onze officiële resources te bekijken om vaardig te worden in Docker:

FAQs

Waar wordt Docker voor gebruikt?

Docker wordt gebruikt om de deployment van applicaties te automatiseren in lichte containers, die een app en zijn dependencies verpakken in een geïsoleerde omgeving die reproduceerbaar is en onafhankelijk van de hostomgeving.

Is Ubuntu goed voor Docker?

Ubuntu is een prima keuze om Docker op te draaien, zowel de Desktop- als Servervariant. Het is een populaire en stabiele Linuxdistributie waar developers dol op zijn. Dat gezegd hebbende, kun je Docker ook op andere Linuxdistributies draaien.

Waarom zou ik Docker gebruiken?

Docker biedt de voordelen van een consistente omgeving voor development/testing/productie, snellere deployment van applicaties en eenvoudigere schaalbaarheid, terwijl de applicatie gemakkelijk te verplaatsen is tussen verschillende omgevingen en systemen.

Wat is het verschil tussen Docker en virtuele machines?

Dockercontainers delen de OS-kernel en resources van het hostsysteem, waardoor ze lichter en sneller zijn dan virtuele machines. VM's draaien aparte besturingssystemen en vereisen meer systeemresources.

Hoe weet ik of Docker correct werkt?

Je kunt beginnen met controleren of Docker is geïnstalleerd door het commando docker –version uit te voeren. Daarnaast verifieert het draaien van een simpele testcontainer zoals hello-world dat Docker functioneert.

Dario Radečić

Auteur

Dario Radečić

Senior Data Scientist, gevestigd in Kroatië. Top Tech-schrijver met meer dan 700 gepubliceerde artikelen en meer dan 10 miljoen weergaven. Auteur van het boek Machine Learning Automation with TPOT.

Onderwerpen

Gerelateerd