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

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:
- Een externe schijf identificeren
- Een Docker‑volume maken dat direct naar het block device verwijst
- Bind‑mount bij runtime in een container
- 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
ofxfs
).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.