Konfiguration von Benutzerrollen für eine Tomcat-Webanwendung in einem Docker-Container

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses Tutorial führt Sie durch den Prozess der Konfiguration von Benutzerrollen für eine Tomcat-Webanwendung, die in einem Docker-Container bereitgestellt wird. Am Ende dieses Artikels haben Sie ein besseres Verständnis dafür, wie Sie den Benutzerzugriff und die Berechtigungen für Ihre im Docker-Umfeld laufende Webanwendung verwalten.

Einführung in Docker und Tomcat-Webanwendungen

Docker ist eine beliebte Containerisierungsplattform, die es Entwicklern ermöglicht, Anwendungen und ihre Abhängigkeiten in isolierte, portierbare Container zu verpacken. Tomcat hingegen ist ein weit verbreiteter Open-Source-Java Servlet- und JavaServer Pages (JSP)-Container, der eine Webserverumgebung für Java-Webanwendungen bereitstellt.

Was ist Docker?

Docker ist eine Softwareplattform, die Entwicklern die Erstellung, Bereitstellung und Verwaltung von Anwendungen innerhalb von Containern ermöglicht. Container sind leichte, eigenständige, ausführbare Pakete, die alles enthalten, was zum Ausführen einer Anwendung benötigt wird, einschließlich Code, Laufzeitumgebung, Systemtools und Bibliotheken. Dies ermöglicht die einfache Bereitstellung und konsistente Ausführung von Anwendungen in verschiedenen Computing-Umgebungen, vom Entwicklungs- bis zum Produktionsumfeld.

Was ist Tomcat?

Tomcat ist ein Open-Source-Webserver und Servlet-Container, der von der Apache Software Foundation entwickelt wurde. Es ist eine beliebte Wahl für die Bereitstellung Java-basierter Webanwendungen, da es eine Laufzeitumgebung für die Ausführung von Java Servlets und die Darstellung von JavaServer Pages (JSP) bietet. Tomcat ist bekannt für seine Skalierbarkeit, Leistung und Benutzerfreundlichkeit, was es zu einer weit verbreiteten Lösung für die Entwicklung und Bereitstellung von Webanwendungen macht.

Integration von Tomcat mit Docker

Die Kombination von Docker und Tomcat bietet mehrere Vorteile für die Entwicklung und Bereitstellung von Webanwendungen. Durch das Verpacken einer Tomcat-basierten Webanwendung in einen Docker-Container können Sie eine konsistente und zuverlässige Ausführung in verschiedenen Umgebungen gewährleisten, den Bereitstellungsprozess vereinfachen und die Funktionen von Docker wie Ressourcenisolierung, Versionierung und einfache Skalierung nutzen.

graph TD A[Entwickler] --> B[Docker-Image erstellen] B --> C[Docker-Container bereitstellen] C --> D[Tomcat-Webanwendung]

Im nächsten Abschnitt werden wir untersuchen, wie Benutzerrollen für eine im Docker-Container bereitgestellte Tomcat-Webanwendung konfiguriert werden.

Konfiguration von Benutzerrollen für Tomcat-Webanwendungen

Tomcat bietet ein flexibles und konfigurierbares System für Benutzerauthentifizierung und -berechtigung, mit dem Sie den Zugriff auf Ihre Webanwendungen verwalten können. In diesem Abschnitt untersuchen wir, wie Benutzerrollen für eine im Docker-Container bereitgestellte Tomcat-Webanwendung konfiguriert werden.

Verständnis von Tomcat-Benutzerrollen

Tomcat unterstützt die folgenden Benutzerrollen:

  • manager-gui: Ermöglicht den Zugriff auf die webbasierte Tomcat-Verwaltungsoberfläche.
  • manager-script: Ermöglicht den Zugriff auf die webbasierte Tomcat-Verwaltungsoberfläche sowie auf die textbasierte Oberfläche.
  • manager-jmx: Ermöglicht den Zugriff auf den JMX-Proxy und die textbasierte Verwaltungsoberfläche.
  • manager-status: Ermöglicht den Zugriff auf die Tomcat-Statusseite, die Informationen über den laufenden Tomcat-Server anzeigt.
  • admin-gui: Ermöglicht den Zugriff auf die webbasierte Tomcat-Verwaltungsoberfläche sowie auf die Serverkonfiguration.
  • admin-script: Ermöglicht den Zugriff auf die webbasierte Tomcat-Verwaltungsoberfläche, die Serverkonfiguration und die textbasierte Oberfläche.

Konfiguration von Benutzerrollen in Tomcat

Um Benutzerrollen für eine Tomcat-Webanwendung in einem Docker-Container zu konfigurieren, müssen Sie folgende Schritte ausführen:

  1. Erstellen Sie eine Datei tomcat-users.xml im Tomcat-Konfigurationsverzeichnis (normalerweise /usr/local/tomcat/conf/).
  2. Definieren Sie die Benutzerrollen und ihre zugehörigen Berechtigungen in der Datei tomcat-users.xml.
  3. Erstellen Sie ein benutzerdefiniertes Docker-Image basierend auf dem offiziellen Tomcat-Image und kopieren Sie die Datei tomcat-users.xml in das entsprechende Verzeichnis.
  4. Führen Sie die Tomcat-Webanwendung im Docker-Container aus und stellen Sie sicher, dass die Benutzerrollen korrekt konfiguriert sind.

Hier ist ein Beispiel für eine tomcat-users.xml-Datei:

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd">
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <user username="admin" password="changeme" roles="manager-gui,manager-script,admin-gui,admin-script"/>
    <user username="tomcat" password="changeme" roles="manager-gui,manager-script"/>
</tomcat-users>

Im nächsten Abschnitt werden wir die Bereitstellung einer Tomcat-Webanwendung in einem Docker-Container besprechen.

Bereitstellung von Tomcat-Webanwendungen in Docker-Containern

Die Bereitstellung einer Tomcat-Webanwendung in einem Docker-Container umfasst mehrere Schritte, darunter das Erstellen eines benutzerdefinierten Docker-Images, die Konfiguration der Anwendung und die Ausführung des Containers. In diesem Abschnitt führen wir Sie durch den Prozess der Bereitstellung einer Tomcat-Webanwendung in einem Docker-Container.

Erstellen eines benutzerdefinierten Tomcat Docker-Images

Um eine Tomcat-Webanwendung in einem Docker-Container bereitzustellen, müssen Sie ein benutzerdefiniertes Docker-Image basierend auf dem offiziellen Tomcat-Image erstellen. Hier ist ein Beispiel-Dockerfile:

FROM tomcat:9.0-jdk11

## Kopieren der Webanwendung in das Tomcat-Verzeichnis webapps
COPY target/my-web-app.war /usr/local/tomcat/webapps/

## Kopieren der Tomcat-Benutzerkonfigurationsdatei
COPY tomcat-users.xml /usr/local/tomcat/conf/

## Exponieren des Tomcat-Ports
EXPOSE 8080

## Starten von Tomcat
CMD ["catalina.sh", "run"]

In diesem Beispiel starten wir mit dem offiziellen Tomcat 9.0-Image mit JDK 11, kopieren die Webanwendungs-WAR-Datei und die Konfigurationsdatei tomcat-users.xml in die entsprechenden Verzeichnisse und exponieren den Tomcat-Port (8080). Schließlich starten wir den Tomcat-Server mit dem Befehl catalina.sh run.

Ausführen der Tomcat-Webanwendung in einem Docker-Container

Nachdem Sie das benutzerdefinierte Tomcat Docker-Image erstellt haben, können Sie die Tomcat-Webanwendung in einem Docker-Container ausführen. Hier ist ein Beispielbefehl:

docker run -d -p 8080:8080 --name my-tomcat-app my-tomcat-image

Dieser Befehl führt die Tomcat-Webanwendung im detachierten Modus (-d) aus und ordnet den Port 8080 des Containers dem Port 8080 des Hosts zu (-p 8080:8080). Die Option --name weist dem Container einen Namen zu, und der letzte Parameter gibt den Namen des benutzerdefinierten Tomcat Docker-Images an.

Nach der Ausführung des Containers können Sie auf die Tomcat-Webanwendung zugreifen, indem Sie einen Webbrowser öffnen und zu http://localhost:8080/my-web-app navigieren.

graph TD A[Entwickler] --> B[Benutzerdefiniertes Tomcat Docker-Image erstellen] B --> C[Tomcat-Webanwendung im Docker-Container ausführen] C --> D[Zugriff auf Tomcat-Webanwendung]

In diesem Abschnitt haben Sie gelernt, wie Sie eine Tomcat-Webanwendung in einem Docker-Container bereitstellen, einschließlich des Erstellens eines benutzerdefinierten Docker-Images und der Ausführung des Containers. Durch die Befolgung dieser Schritte können Sie eine konsistente und zuverlässige Bereitstellung Ihrer Tomcat-basierten Webanwendungen gewährleisten.

Zusammenfassung

In diesem Docker-Tutorial haben Sie gelernt, wie Sie Benutzerrollen für eine Tomcat-Webanwendung konfigurieren, die in einem Docker-Container bereitgestellt wird. Durch das Verständnis der Schritte zur Verwaltung von Benutzerzugriff und -berechtigungen können Sie sicherstellen, dass Ihre im Docker-Umfeld laufende Webanwendung sicher ist und den richtigen Benutzern zugänglich ist.