Loading...

Blog

Disk quota volume voor Docker

16-09-2023

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:

  1. Maak een disk image aan van 5 Gb. Ik plaats deze in de data directory bij de docker-compose.yml file:

dd if=/dev/zero of="./cms_data.img" bs=5G count=1

  1. maak een filesystem aan in het image:

mkfs.ext4 "./cms_data.img"

  1. Om ervoor te zorgen dat docker erbij kan komen, moet de image gemount zijn. Tot zover heb ik niets constructiefs gevonden om dit rechtstreeks via de compose file te doen, dus ik laat hem via /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

  1. pas de docker-compose.yml file aan zodat hij het locale pad gebruikt:

services: cms: env_file: - ./docker-compose.env ... volumes: - ${DOCKER_DATAPATH}/cms_volume:/opt/data

Interessante en gratis AI tools

30-01-2023
Korte lijst van interessante en soms gratis AI tools

Bash template

09-01-2023
De originele template die ik ooit ergens gevonden heb om mijn bash scripts van een aantal standaard variabelen te voorziet, bleek niet om te kunnen gaan met spaties in de directory namen. De oplossing was eenvoudig toe te passen.

iPhone 2Fa zonder app

15-02-2022
Tot mijn verbazing is het mogelijk om 2Fa te gebruiken zonder extra app met macOS, IOS en IpadOS.

.NET Everywhere - Windows, Linux, and Beyond - Het einde van System.Drawing is in zicht

14-11-2021
Met de komst van .Net 6 zijn de eerste stappen genomen om System.Drawing uit te faseren. Zo is deze libary nu als "Windows Only" gemarkeerd. Gelukkig zijn er alternatieven om bestaande code simpel aan te passen en toekomst zeker te maken.

Reset mysql root password in docker container

09-11-2021
In veel gevallen start ik MySql in Docker zo op, dat er een random root wachtwoord wordt aangemaakt. Dit is prima, mits je of het wachtwoord uit de logfile haalt. In het geval dat je deze niet hebt, kan je mogelijk in de problemen komen.

.Net XUnit test herkend geen actions

23-10-2021
Asp.Net Core XUnit unittest project herkend geen actions

ZFS dataset niet aanwezig na stroomonderbreking

20-09-2021
Nadat de spanning van een bepaalde machine per ongeluk uitgevallen was, starte een aantal Docker services op deze machine niet meer op. Het blijkt al snel dat Docker niet gestart is, oftewel niet heeft kunnen opstarten.

Zfs snapshot als standaard gebruiker

11-08-2021
Voeg rechten toe aan een gewone gebruiker om snapshots te maken

Net 5.0 service op MacOS

19-06-2021
Uitvoeren van een achtergrond service via Launchd op MacOS, gemaakt in DotNet Core

Opstarten nginx met ontbrekende (Docker) host

22-02-2020
Herstarten nginx zonder foutmelding als reverse proxy host ontbreekt

DotNet Core achtergrond service onder Linux

28-12-2019
Systemd service onder linux met dotnet core

Uitbreiden swap

15-12-2019
Meer virtueel geheugen toewijzen aan linux server

Verplaatsen van docker storage lokatie

05-09-2019
Verplaats docker data storage naar andere partitie

Testen verplaatsen Docker volume van Mailcow naar ZFS pool

06-05-2019
Na de installatie van Mailcow via Docker op een Linux productie server, blijkt dat de opslag van de mail data in een Docker volume staat, waardoor de root partitie van de server langzaam volloopt. Mailcow biedt een beschrijving om dit aan te passen.