Das allgemeine Szenario besteht darin, dass wir einen Cluster von Servern haben und zusätzlich mithilfe von Docker virtuelle Cluster einrichten möchten.So begrenzen Sie den verfügbaren Docker-Dateisystembereich für Container
Dafür haben wir Dockerfiles für verschiedene Dienste (Hadoop, Spark etc.) erstellt.
In Bezug auf den Hadoop-HDFS-Dienst haben wir jedoch die Situation, dass der für die Docker-Container verfügbare Speicherplatz dem verfügbaren Speicherplatz auf dem Server entspricht. Wir möchten den verfügbaren Speicherplatz pro Container begrenzen, damit wir dynamisch einen zusätzlichen Datenknoten mit einer Speichergröße erzeugen können, die zum HDFS-Dateisystem beiträgt.
Wir hatten die Idee Loopback-Dateien zu verwenden, die mit ext4 formatiert sind, und hängen diese an Verzeichnisse an, die wir als Volumes in Docker-Containern verwenden. Dies bedeutet jedoch einen großen Leistungsverlust.
Ich fand eine andere Frage über SO (Limit disk size and bandwidth of a Docker container), aber die Antworten sind fast 1,5 Jahre alt, was - bezüglich der Entwicklungsgeschwindigkeit von Docker - alt ist.
Welcher Weg oder Speicher-Backend würde uns erlauben, zu
- Limit-Speicher auf einer Pro-Container-Basis
- Hat in der Nähe von Bare-Metal-Performance
- Nicht Repartitionierung des Servers erfordern Laufwerke
Da es nun eine Option, dies zu ermöglichen, was sie, wenn sie voll macht?Ich habe gerade versucht, eine gigantische Datei zu erstellen, und sobald sie voll war, konnte der Container nichts mehr tun (selbst ls) und "docker rm myimg" würde überhaupt nicht funktionieren. – Telokis
@Ninetainedo Seltsam. Welche Version von Docker verwenden Sie, auf welchem Betriebssystem? – VonC
Wenn es Ihnen nichts ausmacht, Github anzuschauen, [hier] (https://github.com/docker/docker/issues/31931) die vollständige Ausgabe, die ich eingereicht habe. – Telokis