Skip to content
· Rudy · Linux, Nederlands, Tutorials

Docker op Linux: Installatie en Proxy Manager Voorbeeld

Docker op Linux: Installatie en Proxy Manager Voorbeeld

Bijgewerkt op 15 augustus 2026.

Voordat ik Docker ontdekte, vond ik het altijd een worsteling om applicaties op mijn server te installeren. Het kostte veel tijd om alle afhankelijkheden correct te configureren en conflicten tussen verschillende applicaties te voorkomen. Met Docker veranderde alles: applicaties zijn nu snel en eenvoudig te implementeren, en mijn servers blijven georganiseerd en schoon.

Wat is Docker?

Docker is een open-source platform waarmee je applicaties kunt bouwen, distribueren en uitvoeren in containers. Containers zijn lichtgewicht, geïsoleerde omgevingen waarin een applicatie samen met de benodigde software, bibliotheken en afhankelijkheden kan draaien.

Het grote voordeel daarvan is dat een applicatie vrijwel hetzelfde kan draaien op je eigen computer, een testserver of een productieserver. Je bent veel minder afhankelijk van de specifieke configuratie van het onderliggende systeem.

Wat kun je doen met Docker?

  • Applicaties isoleren: draai meerdere applicaties met verschillende afhankelijkheden op dezelfde server zonder dat ze elkaar in de weg zitten.
  • Schaalbaarheid: start eenvoudig meerdere containers wanneer een applicatie meer capaciteit nodig heeft.
  • Gemakkelijk testen: bouw lokaal een omgeving die sterk lijkt op je productieserver.
  • Portabiliteit: verplaats containers relatief eenvoudig tussen verschillende systemen.
  • Snelle implementatie: nieuwe applicaties kunnen vaak binnen enkele minuten worden gestart.

Docker installeren op een Ubuntu-server

In dit voorbeeld gebruik ik Ubuntu Server. Docker ondersteunt onder andere actuele versies van Ubuntu LTS en levert hiervoor een eigen officiële pakketrepository.

Stap 1: Werk Ubuntu bij

sudo apt update
sudo apt upgrade -y

Stap 2: Voeg de officiële Docker-repository toe

Installeer eerst de benodigde pakketten:

sudo apt install ca-certificates curl

Maak vervolgens de directory voor de sleutelbestanden aan:

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

Download de officiële Docker GPG-sleutel:

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

Voeg daarna de Docker-repository toe:

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 daarna opnieuw de pakketlijst bij:

sudo apt update

Stap 3: Installeer Docker Engine en Docker Compose

We installeren Docker Engine, de commandoregeltools, containerd, Docker Buildx en de moderne Docker Compose-plugin:

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

Controleer daarna of de Docker-service actief is:

sudo systemctl status docker

Je kunt de installatie ook testen met de officiële testcontainer:

sudo docker run hello-world

Als alles goed is gegaan, krijg je een melding dat Docker correct is geïnstalleerd en dat de testcontainer succesvol is uitgevoerd.

Stap 4: Controleer Docker Compose

Docker Compose wordt tegenwoordig als plugin van Docker geïnstalleerd. Het oude losse commando docker-compose is daarom niet meer nodig.

Controleer de installatie met:

docker compose version

Let daarbij op de spatie: tegenwoordig gebruiken we docker compose en niet meer docker-compose.

Stap 5: Voeg je gebruiker eventueel toe aan de Docker-groep

Standaard moet je Docker-commando’s als root of met sudo uitvoeren. Je kunt je eigen gebruiker toevoegen aan de Docker-groep, zodat je Docker zonder sudo kunt gebruiken:

sudo usermod -aG docker $USER

Log daarna uit en opnieuw in om de wijziging actief te maken.

Let op: gebruikers die lid zijn van de Docker-groep krijgen in de praktijk zeer vergaande rechten op het systeem, vergelijkbaar met rootrechten. Voeg daarom alleen vertrouwde gebruikers aan deze groep toe. Wie Docker zonder zulke rechten wil gebruiken, kan ook kijken naar Docker Rootless Mode.

Docker en je firewall

Gebruik je UFW of een andere firewall op je server, dan is er nog iets belangrijks om rekening mee te houden. Poorten die je met Docker publiceert, bijvoorbeeld met -p 8080:80, kunnen Docker-firewallregels gebruiken waardoor het verkeer niet altijd op de manier wordt verwerkt die je van UFW verwacht.

Open daarom niet zomaar containerpoorten naar het internet. Controleer bij een productieserver altijd welke poorten daadwerkelijk bereikbaar moeten zijn en hoe je firewall en Docker-netwerken zijn ingericht.

Basis Docker-commando’s

Containermanagement

Een container starten:

docker run [options] image_name

Een eenvoudig voorbeeld met Nginx:

docker run -d -p 8080:80 nginx

Hierbij draait Nginx op poort 80 in de container en wordt die poort op de server beschikbaar gemaakt via poort 8080.

Bekijk actieve containers:

docker ps

Bekijk alle containers, inclusief gestopte containers:

docker ps -a

Stop een container:

docker stop container_id

Verwijder een container:

docker rm container_id

Imagemanagement

Een Docker-image is een kant-en-klaar pakket dat alles bevat wat nodig is om een applicatie te draaien. Een image kun je zien als de blauwdruk waaruit één of meerdere containers worden gemaakt.

Bekijk de images die op je systeem aanwezig zijn:

docker images

Download een image:

docker pull image_name

Verwijder een image:

docker rmi image_name

Logs bekijken

Wil je zien wat een container doet of een probleem opsporen, bekijk dan de logs:

docker logs container_id

Wil je de logs live blijven volgen, gebruik dan:

docker logs -f container_id

Een shell openen in een draaiende container

Wanneer een container Bash bevat, kun je bijvoorbeeld een interactieve shell openen met:

docker exec -it container_id bash

Sommige kleinere containers bevatten geen Bash. In dat geval kun je vaak sh gebruiken:

docker exec -it container_id sh

Docker-versie controleren

docker version

Voorbeeld: Nginx Proxy Manager installeren

Nginx Proxy Manager is een gebruiksvriendelijke applicatie waarmee je reverse proxies kunt configureren en beheren via een webinterface. Je kunt hiermee bijvoorbeeld meerdere websites en applicaties achter één server-IP bereikbaar maken en eenvoudig SSL-certificaten van Let’s Encrypt aanvragen.

Voor een eenvoudige installatie hoeft Nginx Proxy Manager tegenwoordig geen aparte MySQL- of MariaDB-container meer te gebruiken. De applicatie kan standaard SQLite gebruiken. Daardoor is het Docker Compose-bestand een stuk eenvoudiger dan vroeger.

Stap 1: Maak een map voor Nginx Proxy Manager

mkdir -p ~/proxy-manager
cd ~/proxy-manager

Stap 2: Maak het Compose-bestand

Maak met bijvoorbeeld Nano een bestand met de naam docker-compose.yml:

nano docker-compose.yml

Voeg vervolgens de volgende inhoud toe:

services:
  app:
    image: 'jc21/nginx-proxy-manager:2.15.1'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    environment:
      TZ: "Europe/Amsterdam"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

In dit voorbeeld gebruiken we de versie van Nginx Proxy Manager die op het moment van bijwerken van dit artikel in de officiële documentatie wordt gebruikt. Controleer bij een nieuwe installatie eventueel de documentatie van Nginx Proxy Manager voor de actuele versie.

De drie poorten hebben ieder hun eigen functie:

  • Poort 80: normaal HTTP-verkeer.
  • Poort 443: beveiligd HTTPS-verkeer.
  • Poort 81: de beheerinterface van Nginx Proxy Manager.

Stap 3: Start Nginx Proxy Manager

Start de container vanuit de map waarin het Compose-bestand staat:

docker compose up -d

Docker downloadt automatisch de benodigde image en start Nginx Proxy Manager op de achtergrond.

Controleer of de container draait:

docker compose ps

Als je tijdens de eerste start wilt meekijken met de initialisatie, kun je de logs volgen:

docker compose logs -f

Stap 4: Open de beheerinterface

Open een browser en ga naar:

http://<jouw-server-ip>:81

Bij de eerste start maakt Nginx Proxy Manager automatisch de database, de benodigde sleutels en een standaard administratoraccount aan. De initialisatie kan afhankelijk van de server even duren.

Volg daarna de aanwijzingen in de beheerinterface om het administratoraccount veilig in te stellen en je eerste Proxy Host aan te maken.

Nginx Proxy Manager bijwerken

Een groot voordeel van Docker is dat het bijwerken van applicaties vaak eenvoudig is. Ga voor Nginx Proxy Manager naar de map waarin je Compose-bestand staat:

cd ~/proxy-manager

Haal vervolgens de nieuwere container-image op en laat Docker Compose de container opnieuw maken:

docker compose pull
docker compose up -d

Je configuratie, database en Let’s Encrypt-gegevens blijven in de gekoppelde directories data en letsencrypt op de host opgeslagen.

Controleer vóór grotere upgrades wel altijd even de release-informatie van Nginx Proxy Manager. Soms kan een specifieke versie aanvullende stappen vereisen.

Tot slot

Met Docker kun je relatief eenvoudig complexe applicaties draaien zonder je complete serversysteem vol te installeren met allerlei losse afhankelijkheden. Containers houden applicaties grotendeels van elkaar gescheiden en maken installeren, testen, verwijderen en bijwerken een stuk overzichtelijker.

Nginx Proxy Manager is daar een mooi praktisch voorbeeld van. Met één klein Docker Compose-bestand heb je een grafische reverse proxy waarmee je meerdere webdiensten kunt beheren en SSL-certificaten kunt gebruiken.

Docker is natuurlijk veel uitgebreider dan wat ik in dit artikel kan behandelen, maar met de voorbeelden hierboven heb je een goede basis om zelf verder te experimenteren.

Handige links en documentatie

Docker Engine installeren op Ubuntu:
https://docs.docker.com/engine/install/ubuntu/

Docker-documentatie:
https://docs.docker.com/

Docker Hub:
https://hub.docker.com/

Docker Compose-documentatie:
https://docs.docker.com/compose/

Docker post-installatiestappen voor Linux:
https://docs.docker.com/engine/install/linux-postinstall/

Nginx Proxy Manager – installatie:
https://nginxproxymanager.com/setup/

Nginx Proxy Manager – upgraden:
https://nginxproxymanager.com/upgrading/

Steun ons met een donatie

Steun ons werk door een donatie te doen. Elke bijdrage helpt!

Rudy
Written by Rudy

Hallo ik ben Rudy

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *