2016-12-01 3 views
0

Ich weiß, diese Frage klingt wie eine Wiederholungsfrage, aber ich konnte andere nicht finden, die meiner Anforderung entsprechen. Also habe ich gerade angefangen, docker für die Entwicklung von Tomcat App zu verwenden.Wie kann auf den Tomcat-Docker-Container zugegriffen werden, der auf der VMWare-Workstation ausgeführt wird?

Nach der Installation von Docker in Ubuntu 16 innerhalb VMWare Workstation und das Herunterladen von tomcat-Docker Bild mag ich die Tomcat-Container mit START Befehl statt RUN starten.

Ich benutze START Befehl, weil ich nicht in STDOUT stecken bleiben, und in der Lage, weiterhin Linux-Befehlszeile verwenden. So beginne ich den Behälter von unten Befehl

$ docker start name_of_container 

Dann Ausgabe I Befehl

$ docker inspect name_of_container 

schaffe ich untersuchen, um zu sehen, dass mein Kater-Instanz verwendet ip: 172.17.0.2. So habe ich kräuseln wie:

$ curl 172.17.0.2:8080 | head 

Und ich habe vollkommen meine HEAD-Tags gedruckt, was bedeutet, dass ich meinen Kater erfolgreich instanziiert.

Meine Frage ist: Wie kann ich meinen Tomcat von meinem Browser in Windows zugreifen? Wie kann ich eine Portweiterleitung in VMWare erstellen, um mir den Zugriff auf ip 172.17.0.2 zu ermöglichen?

Dank

Antwort

1

Wenn docker create mit dem Container zu erstellen, geben Sie die Ports mit --publish an den Host zu veröffentlichen:

docker create --publish 8080:8080 --name my-tomcat tomcat 

Sie können dann starten mit:

docker start my-tomcat 

Hafen 8080 auf dem Host wird nun Traffic auf Port 8080 des Containers senden.

Sie sollten http://ip-of-vm:8080 in Ihrem Browser erreichen können.

1

First off, können Sie den Befehl RUN verwenden, ohne das Terminal mit der Option -d zu verlieren. Es startet den Container im entkoppelten Modus und Tomcat wird im Hintergrund sein.

Zweitens, wenn Sie Ihren Container ausführen, müssen Sie seinen exponierten Port mit der Option -p einem anderen Port in Ihrer VM zuordnen.

So sollte der Fahrbefehl wie folgt aussehen:

docker run -d -p 8000:8080 tomcat 

Wo 8000 einen offenen Port auf dem VM ist, und 8080 ist Port, der Kater in Ihrem Container hört. Der Verkehr, der auf dem Port 8000 zu Ihrer VM kommt, wird zu dem Port 8080 umgeleitet, den der Tomcat-Container freigibt.

Schließlich müssen Sie die IP Ihrer VM finden, nicht die IP Ihres Containers.

Ein ifconfig auf der VM sollte dafür ausreichen. Sie sollten in der Lage sein, es von Ihrem Host-Computer aus zu pingen (damit es später von einem Browser aus zugänglich ist). Also, wenn Ihr VM IP 192.168.1.50 entpuppen sich (zum Beispiel), müssen Sie diese in Ihrem Browser eingeben:

192.168.1.50:8000

Hier 8000 ist nur ein Beispiel.Sie können 8080 auch für weniger Verwirrung in der RUN-Befehl verwenden:

docker run -d -p 8080:8080 tomcat 
Verwandte Themen