Jestem całkiem nowym Tomcatiem i Dockerem - więc prawdopodobnie brakuje mi podstawki Tomcat gdzieś w tym pytaniu.Wdrażanie aplikacji webowej Java do Tomcat 8 działającej w kontenerze Docker
Co próbuję zrobić, to zbudować kontener Docker, który uruchamia usługę WWW SpringBoot, która po prostu zwraca niektóre statyczne dane. Wszystko działa w systemie OSX, więc używam również Boot2Docker.
Pisałem własne Dockerfile zbudować kontener, że moja aplikacja działa w:
FROM tomcat:8.0.20-jre8
RUN mkdir /usr/local/tomcat/webapps/myapp
COPY /1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/myapp/
Ten Dockerfile działa dobrze i jestem w stanie uruchomić pojemnik z utworzonego obrazu.
docker build -t myapp .
docker run -it --rm -p 8888:8080 myapp
Ten kontener uruchamia się poprawnie i nie wyświetla błędów i wyświetla komunikat informujący o wdrożeniu mojej aplikacji.
22-Mar-2015 23:07:21.217 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory
Deploying web application directory /usr/local/tomcat/webapps/myapp
Kontener również poprawnie skopiował myapp.war do ścieżki opisanej w pliku Dockerfile. Co więcej, jestem w stanie przejść do domyślnej strony Tomcat, aby potwierdzić, że Tomcat jest uruchomiony, mogę również trafić wszystkie przykłady, itp.
Do problemu, kiedy nawiguję do http://192.168.59.103:8888/myapp/getData, otrzymuję 404. Nie mogę całkiem dowiedzieć się, dlaczego. Czy brakuje mi czegoś związanego z instalacją .war w Tomcat?
Skąd czerpiesz ten adres IP? –
To jest ten przypisany do mojej maszyny Boot2Docker VM. Uderzając w to IP: port bez/myapp wyświetla domyślną stronę Tomcat. – Chris
Jestem facetem z Linuksa, więc zachowanie może się różnić, ale spróbuj odwiedzić localhost: 8080 zamiast tego. –