2017-09-05 1 views
0

Ich kann nicht die Kriegsakte in tomcat 7 mit Hilfe des docker Behälters bereitstellen.Wie man Kriegsdatei in tomcat 7 des Dockerbehälters ausliefert

Es ist einfach in Windows OS, weil wir die Kriegsdatei unseres Projekts manuell in webapps Ordner von Tomcat einfügen, aber im Falle von Docker Container ist es ein bisschen schwierig.

Ich weiß nicht, wie man den Port von Tomcat ändert und den Rollenmanager in der Datei tomcat-users.xml in Docker wegen der Verzeichnisstruktur des Dockercontainers hinzufügt. und wie man Tomcat mit der neuen Portnummer im Docker startet.

+1

Mögliche Duplikate von [Kopieren von Dateien vom Host zum Docker-Container] (https://stackoverflow.com/questions/22907231/copying-files-from-host-to-docker-container) –

Antwort

3

Der einfachste Weg ist die Lautstärke-Parameter (-v) mit docker run zu verwenden, um den webapps Verzeichnis und tomcat-users.xml Datei Aufenthalt auf dem Host-Dateisystem zu haben, nicht auf dem Behälter ein.

Zum Beispiel auf einer Linux-Host:

  • eine Datei /tmp/tomcat-users.xml mit dem richtigen Inhalt für Ihre Bedürfnisse genannt;
  • Erstellen Sie dann ein leeres Verzeichnis mit dem Namen /tmp/webapps.

Nun führen Sie Ihre Behälter auf diese Weise:

docker run -it --rm -p 8888:8080 -v /tmp/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro -v /tmp/webapps:/usr/local/tomcat/webapps:rw tomcat:7 

Dann wird, da der Behälter im Vordergrund gestartet wird, auf eine andere Shell-Verbindung (ein weiteres Fenster) und kopieren Sie die WAR-Datei in/tmp/webapps. Es wird automatisch bereitgestellt.

Zum Beispiel auf einem Windows-Host:

  • eine Datei c:\tmp\tomcat-users.xml mit dem richtigen Inhalt für Ihre Bedürfnisse genannt;
  • Erstellen Sie dann ein leeres Verzeichnis mit dem Namen c:\tmp\webapps.

Nun führen Sie Ihre Behälter auf diese Weise:

docker run -it --rm -p 8888:8080 -v //c/tmp/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro -v //c/tmp/webapps:/usr/local/tomcat/webapps:rw tomcat:7 

Dann kopieren Sie die WAR-Datei in c:\tmp\webapps. Es wird automatisch bereitgestellt.

+0

Bitte schlagen Sie den Befehl mit Beispielbeispiel vor –

+0

Ich habe ein Beispiel in meiner Antwort hinzugefügt. –

+0

Dank für Kommentare –

Verwandte Themen