Kennisbank Docker Containers docker volumes en netwerken beheren
docker containers gevorderd 01 June 2026

docker volumes en netwerken beheren

Docker volumes en netwerken beherenDit artikel legt uit hoe je persistente data en containercommunicatie configureert in Docker met volumes en user-defined
Docker Volumes En Netwerken Beheren
✦ ✦ ✦

Docker Volumes En Netwerken Beheren

HistorieCheck Redactie  ·  01 June 2026  ·  docker-containers

Docker volumes en netwerken beheren

Dit artikel legt uit hoe je persistente data en containercommunicatie configureert in Docker met volumes en user-defined networks. Gericht op ontwikkelaars die Docker Compose gebruiken in productie.

Vereisten - Docker Engine 24.0+ en Docker Compose v2.20+ - Basiskennis van `docker-compose.yml` syntax - Een werkende Docker-omgeving (check met `docker info`)

Stappen

1. Definieer named volumes in `docker-compose.yml` Voeg een `volumes:`-blok toe op rootniveau. Gebruik een named volume in plaats van een anoniem volume voor herbruikbaarheid.

```yaml version: '3.8' volumes: db-data: ```

2. Koppel het volume aan een service Mount het volume in de container. Voor PostgreSQL gebruik je `/var/lib/postgresql/data`.

```yaml services: db: image: postgres:16 volumes: - db-data:/var/lib/postgresql/data ```

3. Creëer een user-defined bridge network Voeg een `networks:`-blok toe. Dit netwerk geeft automatische DNS-resolutie op servicenaam.

```yaml networks: app-network: driver: bridge ```

4. Koppel services aan het netwerk Elke service die moet communiceren krijgt hetzelfde netwerk.

```yaml services: api: image: my-api:1.2 networks: - app-network db: image: postgres:16 networks: - app-network ```

5. Maak een intern netwerk voor database-isolatie Voeg `internal: true` toe om internettoegang te blokkeren. De db-service heeft geen internet nodig.

```yaml networks: internal-db: driver: bridge internal: true ```

6. Koppel een extern netwerk voor bestaande infrastructuur Gebruik `external: true` om een al bestaand Docker-netwerk te hergebruiken.

```yaml networks: shared-net: external: true ```

7. Verbind een service met meerdere netwerken Een API-service kan zowel het app-network als een extern monitoring-netwerk nodig hebben.

```yaml services: api: networks: - app-network - monitoring-net ```

8. Ruim ongebruikte volumes op Voer dit regelmatig uit om schijfruimte vrij te maken.

```bash docker volume prune -f ```

Verificatie

Controleer of volumes en netwerken correct zijn aangemaakt:

```bash Lijst volumes docker volume ls

Lijst netwerken docker network ls

Inspecteer een specifiek netwerk voor aangesloten containers docker network inspect app-network ```

Draai de Compose-stack en test of services elkaar kunnen bereiken op servicenaam:

```bash docker compose exec api ping db ```

Veelgestelde problemen

Probleem: Container kan geen verbinding maken met database Oorzaak: Beide services zitten niet in hetzelfde user-defined network. Oplossing: Controleer of beide services onder `networks:` hetzelfde netwerk hebben.

Probleem: Data verdwijnt na `docker compose down` Oorzaak: Je gebruikt een anoniem volume of bind mount zonder persistente mapping. Oplossing: Gebruik een named volume zoals beschreven in stap 1 en 2.

Probleem: `docker volume prune` verwijdert per ongeluk gebruikte volumes Oorzaak: De container die het volume gebruikt, is gestopt maar niet verwijderd. Oplossing: Voeg `-a` toe om alle containers (gestopt én draaiend) te checken: `docker volume prune -a -f`. Of stop en verwijder containers eerst met `docker compose down`.

Heb je een specifiek scenario met meerdere omgevingen of een hybride cloud-opstelling? Dan heeft Pixzo een aparte guide voor netwerksegmentatie met Tailscale en Docker.

— ✦ —
← Terug naar kennisbank