Momenteel als je zoekt naar het instellen van een disk quota voor een docker volume, via docker compose, kom ik tot nu toe alleen uit op een tmpfs. Zo'n volume is niet persistent, waardoor bij een herstart alle data weg is. Handig voor tempfiles, maar verder eigenlijk niet.
De enige oplossing die ik tot nu gevonden heb, is het gebruik van een disk image. Dit lijkt goed te werken. De image wordt namelijk via mount aan het locale filesystem geknoopt. Hierdoor kan je ook makkelijk bij de bestanden komen, voor bijvoorbeeld de backup.
Stap voor stap:
dd if=/dev/zero of="./cms_data.img" bs=5G count=1
mkfs.ext4 "./cms_data.img"
/etc/fstab
bij opstart mounten. Uiteraard is het handig om dit eerst te testen:mkdir cms_volume
mount ./cms_data.img ./cms_volume
ls cms_volume/
umount ./cms_volume
als dit werkt, dan voeg ik hem toe aan fstab (Let op dat de directory waar deze gemount wordt moet bestaan).
{pad naar compose}/data/cms_data.img {pad naar compose}/data/cms_volume ext4 rw,relatime 0 0
services:
cms:
env_file:
- ./docker-compose.env
...
volumes:
- ${DOCKER_DATAPATH}/cms_volume:/opt/data