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

Vue-Komponente zur Realisierung einer Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

3D-Tunneleffekt implementiert durch CSS3

Der erzielte EffektImplementierungscode html <...

So stellen Sie einen Redis 6.x-Cluster über Docker bereit

Systemumgebung: Redis-Version: 6.0.8 Docker-Versi...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.17

Dieser Artikel enthält das grafische Tutorial zur...

Eine kurze Analyse zum besten Umgang mit vergessenen MySQL 8-Passwörtern

Vorwort Leser, die mit MySQL vertraut sind, werde...

Tutorial zur Installation von Ubuntu Server in Vmware

In diesem Artikel finden Sie das grafische Tutori...

Tutorial zur Installation und Konfiguration von MySQL für Mac

In diesem Artikel finden Sie das MySQL-Installati...

Grundlegende Fähigkeiten zum Entwerfen von Web-Frontend-Schnittstellen

[Erforderlich] Benutzeroberfläche PhotoShop/Feuer...

So sperren Sie eine virtuelle Konsolensitzung unter Linux

Wenn Sie an einem gemeinsam genutzten System arbe...