Während der Titel lautet, versuche ich, meinem Container mehr Speicher zuzuweisen. Ich verwende ein Image vom Docker-Hub mit dem Namen "aallam / tomcat-mysql", falls dies relevant ist.
Wenn ich es normal ohne spezielle Flags starte, gibt es ein Speicherlimit von 2 GB (obwohl ich gelesen habe, dass der Speicher unbegrenzt ist, wenn er nicht gesetzt ist).
Hier sind meine Docker-Statistiken
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ba57d6c9e9d2 0.22% 145.6 MiB / 1.952 GiB 7.29% 508 B / 508 B 0 B / 6.91 MB 68
Ich habe versucht, den Speicher explizit so einzustellen, aber mit den gleichen Ergebnissen
docker run -d --memory=10g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p 8081:8080 aallam/tomcat-mysql
Ich habe gelesen, dass die VM sie möglicherweise einschränkt. Aber warum zeigen Docker-Statistiken dann, dass die maximale Containergröße 2 GB beträgt?
quelle
Weisen Sie Ihrem Docker-Computer den maximalen Speicher zu (Docker-Präferenz -> Voraus)
Screenshot der Voreinstellungen:
Dadurch wird das maximale Limit festgelegt, das Docker beim Ausführen von Containern verbrauchen. Führen Sie nun Ihr Bild in einem neuen Container mit dem Flag -m = 4g für 4 Gigs RAM oder mehr aus. z.B
Denken Sie daran, die Änderungen zur Erhöhung der RAM-Grenze anzuwenden. Starten Sie den Docker neu und überprüfen Sie, ob das RAM-Limit erhöht wurde. Dies kann einer der Faktoren sein, bei denen die RAM-Grenze in Docker-Containern nicht erhöht wird.
quelle
Wenn Sie den Standardcontainer ändern möchten und Virtualbox verwenden, können Sie dies über die Befehlszeile / CLI tun:
quelle