Я новичок в Tomcat и Docker, поэтому я, вероятно, вообще не замечаю Tomcat в этом вопросе.
Я пытаюсь создать контейнер Docker, который запускает веб-службу SpringBoot Restful, которая возвращает только статические данные. Все это работает на OSX, поэтому я также использую Boot2Docker.
Я написал свой собственный файл Docker для создания контейнера, в котором работает мое приложение:
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/
Этот файл Docker отлично работает, и я могу запустить контейнер из созданного изображения.
docker build -t myapp .
docker run -it --rm -p 8888:8080 myapp
Этот контейнер запускается правильно и не выдает никаких ошибок и отображает сообщение о том, что мое приложение было развернуто.
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
В контейнере также верно myapp.war, скопированный в путь, описанный в файле Docker. Кроме того, я могу перейти на страницу по умолчанию Tomcat, чтобы подтвердить, что Tomcat запущен, я также могу поразить все примеры и т.д.
К проблеме, когда я перехожу к http://192.168.59.103:8888/myapp/getData, я получаю 404. Я не могу понять, почему. Я что-то пропустил в отношении использования .war для Tomcat?