So legen Sie die Speichergröße von Docker Tomcat fest

So legen Sie die Speichergröße von Docker Tomcat fest

Wenn Sie Tomcat in Docker installieren, kann es beim Herunterladen großer Dateien oder in manchen Fällen zu einem Speicherüberlauf kommen. Sie müssen daher die Speichergröße von Tomcat konfigurieren. Es gibt zwei Möglichkeiten, die Speichergröße von Tomcat in Docker zu konfigurieren:

1. Mounten Sie die Konfigurationsdatei im Docker

Mounten Sie die catalina.sh-Konfigurationsdatei von Tomcat im Docker auf dem Hostcomputer und konfigurieren Sie dann die JVM-Speichergröße in catalina.sh.

1. Sie müssen einen Tomcat-Container erneut ausführen (Hinweis: Port und Containername können nicht wiederholt werden).

 docker run -d \
 -v /server/webapps:/usr/local/tomcat/webapps/ \
 -v /server/catalina.sh:/usr/local/tomcat/bin/catalina.sh \
 -v /server/logs/demo:/server/logs/demo \
 -e TZ="Asien/Shanghai" \
 --privilegiert=true \
 --name demo \
 -p 8080:8080 \
 tomcat8

veranschaulichen:

* -v /server/webapps:/usr/local/tomcat/webapps/ Mountet das laufende Verzeichnis des aktuellen Projekts in die Webapps unter Tomcat

* -v /server/catalina.sh:/usr/local/tomcat/bin/catalina.sh mountet die catalina.sh des Hosts in die catalina.sh unter Tomcat im Docker

* -v /server/logs/demo:/server/logs/demo mountet Protokolle auf dem Host

* -e TZ="Asia/Shanghai" Zeitzone festlegen

* --privileged=true Eingestellt, um echte Root-Rechte im Container zu haben

* -p 8080:8080 Mapping-Port

* Der Name des Tomcat8-Image

2. Konfigurationsspeicher in catalina.sh

Fügen Sie unten cygwin=false hinzu:

JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=256m"

-xms Heap-Speicher initialisieren

-xmx Maximaler Heap-Speicher

2. Ändern Sie direkt die Konfiguration von catalina.sh des Tomcat-Containers

Sie können den Container direkt aufrufen und die Konfigurationsdatei catalina.sh von Tomcat ändern. Diese Methode wird jedoch nicht empfohlen, da sie in Zukunft zu Problemen führen kann und die Konfiguration nicht bequem ist. Wenn Sie den Container erneut ausführen müssen, kennen Sie die Konfiguration der Speichergröße im Container nicht.

1. Betreten Sie den Container

docker exec -it <Containername> /bin/bash

2. Suchen Sie die Konfigurationsdatei catalina.sh und fügen Sie die Konfiguration hinzu (die im ersten Schritt hinzugefügte Konfigurationsanweisung ist ausreichend).

// Wenn kein vi-Befehl vorhanden ist, müssen Sie vi /usr/local/tomcat/bin/catalina.sh installieren
// Container verlassen und exit neu starten
Docker-Neustart <Containername>

Beachten:

Wenn Sie beim Ändern von Catalina.sh aufgefordert werden, die Datei als schreibgeschützte Datei anzuzeigen oder keine Berechtigung zum Ändern zu haben, müssen Sie den Container mit Root-Berechtigungen aufrufen. Die spezifische Methode lautet wie folgt

Ergänzung: Root-Rechte in Docker-Containern erhalten

Es gibt einige Vorgänge, die häufig im Docker-Container ausgeführt werden müssen, z. B. wenn plötzlich eine Konfigurationsdatei geändert werden muss usw., aber zum Ändern der Datei sind Root-Berechtigungen erforderlich. Sie können sich auf die folgende Lösung beziehen

Normalerweise werden Sie beim Ändern von Dateien gefragt: schreibgeschütztes Dateisystem oder Zugriff verweigert

1. Mounten Sie die Konfigurationsdatei

Wenn Sie den Docker-Container ausführen, können Sie die Konfigurationsdatei auf den Hostcomputer kopieren und dann beim Ausführen den Parameter -v laden, um die Konfigurationsdatei des Hostcomputers in Docker bereitzustellen.

2. Rufen Sie den Docker-Container mit Root-Rechten auf

Befehl:

docker exec -it -u root <Container-ID> /bin/bash

Beachten:

Voraussetzung für die Ausführung des obigen Befehls ist, dass beim Ausführen des Containers dieser Parameter hinzugefügt wird: --privileged=true. Andernfalls wird beim Aufrufen des Containers weiterhin angezeigt, dass Sie keine Berechtigung zum Ändern haben.

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • So installieren Sie Tomcat8 im Docker
  • Beim Zugriff auf die Homepage eines im Docker-Modus gestarteten Tomcat tritt ein 404-Fehler auf
  • So installieren Sie Tomcat in Docker und stellen das Springboot-Projekt-War-Paket bereit
  • Schritte zum Bereitstellen mehrerer Tomcat-Dienste mithilfe von DockerFile im Docker-Container
  • Docker Nginx-Container und Tomcat-Container zur Realisierung von Lastausgleich und dynamischen und statischen Trennungsvorgängen
  • Detaillierte Schritte zur Installation von Tomcat, MySQL und Redis mit Docker
  • Warum wird mir die Zugriffsschnittstelle für Docker Tomcat nicht angezeigt?

<<:  Detaillierte Erklärung zu MySQL-Phantomlesevorgängen und wie man sie eliminiert

>>:  Designtheorie: Menschenorientiertes Designkonzept

Artikel empfehlen

Ein einfaches Beispiel zum Erstellen einer dünnen Linientabelle in HTML

Wenn Sie wissen möchten, wie Sie diese Tabelle mi...

So zeigen Sie JSON-Daten auf einer HTML-Seite an und formatieren sie

JSON-Daten werden auf der HTML-Seite angezeigt un...

Lösung zum Hinzufügen einer iptables-Firewall-Richtlinie zum MySQL-Dienst

Wenn Ihre MySQL-Datenbank auf einem CentOS7-Syste...

Einführung in die Parameter und Regeln für reguläre Ausdrücke bei Nginx

Vorwort In letzter Zeit habe ich Kunden dabei geh...

Zusammenfassung der Tipps zur CSS-Verwendung

Vor Kurzem habe ich mit der Aktualisierung meines ...

So fügen Sie Bilder in HTML-Seiten ein und fügen Kartenindexbeispiele hinzu

1. Im Web unterstützte Bildformate: GIF: kann 256...

Bedeutung und Berechnungsmethode von QPS und TPS der MySQL-Datenbank

Bei DB-Benchmarktests sind QPS und TPS wichtige I...

Die normale Methode der MySQL-Deadlock-Prüfungsverarbeitung

Normalerweise wird bei einem Deadlock die Verbind...

Wie stellt MySQL die Master-Slave-Konsistenz sicher?

Inhaltsverzeichnis Das Grundprinzip von MySQL Mas...

So verwenden Sie das VS2022-Remote-Debugging-Tool

Manchmal müssen Sie bei der Arbeit ein Remote-Deb...

Grundlegender Installationsprozess von mysql5.7.19 unter winx64 (Details)

1. Herunterladen https://dev.mysql.com/downloads/...