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

docker volumes en netwerken beheren

Je bent een technisch redacteur voor Pixzo — het hosting en AI platform. Schrijf helder, direct en praktisch. Geen wolligheid.STRUCTUUR: 1. INLEIDING: één zin
Docker Volumes En Netwerken Beheren
✦ ✦ ✦

Docker Volumes En Netwerken Beheren

HistorieCheck Redactie  ·  01 June 2026  ·  docker-containers

Je bent een technisch redacteur voor Pixzo — het hosting en AI platform. Schrijf helder, direct en praktisch. Geen wolligheid.

STRUCTUUR: 1. INLEIDING: één zin die uitlegt wat dit artikel doet en voor wie het is. 2. VEREISTEN: wat heeft de lezer nodig voordat hij begint? Versies, dependencies, toegang. Kort en concreet. 3. STAPPEN: genummerd, maximaal 8. Elke stap: één actie, één uitleg. Commands altijd volledig en copy-paste klaar in een codeblok. 4. VERIFICATIE: hoe weet de lezer dat het gelukt is? Geef een commando of check die dat bevestigt. 5. VEELGESTELDE PROBLEMEN (optioneel): maximaal 3 bekende problemen met directe oplossing.

STIJLREGELS: - Versienummers altijd vermelden — lezers werken met specifieke versies. - Technische termen in het Engels laten — niet vertalen. - Code nooit versimpelen of inkorten — altijd volledig. - Geen inleidende omhaal. Eerste zin = meteen to the point. - Geen marketing taal. Geen 'krachtig', 'intuïtief', 'naadloos'. - DeepSeek checkt altijd of commando's en versies nog kloppen.

Docker Volumes en Netwerken Beheren

Dit artikel leert je hoe je persistente opslag en containercommunicatie in Docker opzet met volumes en netwerken, gericht op ontwikkelaars die een multi-service applicatie draaien met Docker Compose.

VEREISTEN

- Docker Engine 24.0+ en Docker Compose v2.20+ geïnstalleerd. - Basiskennis van `docker run` en een `docker-compose.yml` bestand. - Terminal- of shell-toegang met voldoende rechten om Docker-commando's uit te voeren.

STAPPEN

1. Maak een named volume voor persistente data

Een named volume blijft bestaan nadat je een container stopt of verwijdert. Gebruik dit voor databasebestanden, logs of uploads.

```bash docker volume create myapp_data ```

2. Koppel het volume aan een container met `--mount`

De moderne `--mount` vlag is explicieter dan de oudere `-v`. Het koppelt het volume op een specifiek pad in de container.

```bash docker run -d --name myapp_db --mount source=myapp_data,target=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret mysql:8.0 ```

3. Definieer een named volume in Docker Compose

In `docker-compose.yml` declareer je het volume op topniveau en geef je het aan een service. Zo delen meerdere services één volume.

```yaml version: '3.8' volumes: app_data: services: db: image: mysql:8.0 volumes: - app_data:/var/lib/mysql ```

4. Maak een custom bridge network voor service-isolatie

Een custom network geeft je controle over welke services elkaar zien. Gebruik dit om de database te isoleren van de buitenwereld.

```yaml version: '3.8' networks: backend: frontend: services: app: image: myapp:latest networks: - frontend - backend db: image: mysql:8.0 networks: - backend ```

In dit voorbeeld heeft `app` toegang tot beide netwerken; `db` zit alleen op `backend`. De frontend-service kan de database niet direct bereiken.

5. Laat de stack starten met `docker compose up`

Dit commando leest het `docker-compose.yml` bestand, start alle services en maakt de netwerken en volumes automatisch aan.

```bash docker compose up -d ```

6. Koppel een bestaande container handmatig aan een network

Soms moet je een container toevoegen aan een netwerk zonder de stack te herstarten. Gebruik `docker network connect`.

```bash docker network connect backend my_old_container ```

7. Verwijder ongebruikte volumes op

Ongebruikte volumes nemen schijfruimte in. Ruim ze veilig op zonder data van draaiende containers te raken.

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

VERIFICATIE

Controleer of de volumes en netwerken correct zijn aangemaakt met deze commando's.

```bash Lijst alle volumes docker volume ls

Inspecteer een specifiek volume (zie Mountpoint, Labels, etc.) docker volume inspect myapp_data

Lijst alle netwerken docker network ls

Bekijk welke containers in een netwerk zitten docker network inspect backend ```

Als `myapp_data` zichtbaar is in `docker volume ls` en `backend` in `docker network ls`, dan is de configuratie geslaagd.

VEELGESTELDE PROBLEMEN

1. Volume is leeg na koppelen

Oorzaak: De container schrijft data naar een ander pad dan je hebt gemount. Controleer het target pad met `docker inspect `. Voor MySQL is dat bijvoorbeeld `/var/lib/mysql`, niet `/data`.

2. Container A kan container B niet bereiken via servicenaam

Oorzaak: Ze zitten niet in hetzelfde Docker network. Gebruik `docker network connect ` om ze aan hetzelfde netwerk toe te voegen. Controleer met `docker network inspect `.

3. `docker volume prune` verwijdert een volume dat nog gebruikt wordt

Oorzaak: Je hebt de container gestopt maar niet verwijderd. Docker beschouwt een gestopte container nog steeds als gebruiker van het volume. Verwijder eerst de container met `docker rm `, voer daarna `docker volume prune` uit.

Docker verdeelt netwerken en volumes in aparte objecten, maar in de praktijk bepaalt hun combinatie hoe veilig en betrouwbaar je applicatie draait.

— ✦ —
← Terug naar kennisbank