Blog
23 jul 2025 - 2 MIN READ
Externe schijf koppelen als Docker volume

Externe schijf koppelen als Docker volume

Snelle tip voor het koppelen van een externe schijf als Docker volume.

Melvin Voetberg

Melvin Voetberg

Docker-containers isoleren workloads van de host, maar soms wil je data op een externe schijf bewaren. In deze snelle tip leer je:

  1. Een externe schijf identificeren
  2. Een Docker‑volume maken dat direct naar het block device verwijst
  3. Bind‑mount bij runtime in een container
  4. Definieren als een named volume in Docker Compose

1. Een externe schijf identificeren

Gebruik lsblk of blkid om het apparaat‑pad en de UUID van je schijf te vinden:

lsblk -f
# of
blkid

Zoek je externe schijf (bijv. /dev/sdb1) en noteer de UUID (bijvoorbeeld be874c01-de77-4084-847e-c874bf1b71e8).


2. Een Docker‑volume maken dat direct naar het block device verwijst

Maak een Docker‑volume dat direct aan het apparaat wordt gebonden:

docker volume create hdd \
  --driver local \
  --opt type=ext4 \
  --opt device=/dev/disk/by-uuid/be874c01-de77-4084-847e-c874bf1b71e8 \
  --opt o=bind
  • hdd is de naam van je volume.
  • type=ext4 moet overeenkomen met je bestandssysteem (bijv. ntfs of xfs).
  • device=<uuid> verwijst naar het block device of de UUID‑symlink.
  • o=bind vertelt Docker om het read/write te mounten.

Verifieer het:

docker volume inspect hdd

3. Bind‑mount bij runtime

Gebruik het volume met -v wanneer je een container start:

docker run -d \
  --name app \
  -v hdd:/app/data \
  image:latest

Dit koppelt het bestandssysteem van de externe schijf op /app/data in de container.


4. Definieer in Docker Compose

Voor herhaalbare setups voeg je het volume toe aan je docker-compose.yml:

services:
  app:
    image: image:latest
    volumes:
      - hdd:/app/data

volumes:
  hdd:
    external: true

# Of definieer het direct (sla stap 2 over)
volumes:
  hdd:
    driver: local
    driver_opts:
      type: ext4
      device: /dev/disk/by-uuid/be874c01-de77-4084-847e-c874bf1b71e8
      o: bind

Start het met:

docker-compose up -d

Met deze stappen behandelt Docker je externe schijf als een gewoon volume, en staat je data direct op de schijf.