Sono abbastanza nuovo per Tomcat e Docker - quindi probabilmente mancherò un Tomcat fondamentale da qualche parte in questa domanda.Distribuzione di webapp Java a Tomcat 8 in esecuzione nel contenitore Docker
Quello che sto cercando di fare è costruire un contenitore Docker che esegua un servizio web Restback SpringBoot che restituisce solo alcuni dati statici. Tutto questo è in esecuzione su OSX, quindi sto utilizzando anche Boot2Docker.
ho scritto il mio Dockerfile per costruire il contenitore che la mia applicazione funziona in:
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/
Questo Dockerfile funziona bene e sono in grado di avviare il contenitore dalla immagine creata.
docker build -t myapp .
docker run -it --rm -p 8888:8080 myapp
Questo contenitore si avvia correttamente e non emette errori e visualizza il messaggio che indica che la mia app è stata distribuita.
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
Il contenitore ha inoltre correttamente copiato il file myapp.war nel percorso descritto nel file Docker. Inoltre sono in grado di navigare verso la pagina predefinita di Tomcat per confermare che Tomcat è in esecuzione, posso anche trovare tutti gli esempi, ecc.
Per il problema, quando navigo verso http://192.168.59.103:8888/myapp/getData ottengo un 404. Non riesco a farlo capire perché Mi manca qualcosa riguardo un deploy .war a Tomcat?
Da dove viene ottenuto l'indirizzo IP? –
È quello assegnato alla mia VM Boot2Docker. Colpire questo IP: porta senza/myapp mostra la pagina Tomcat predefinita. – Chris
Sono un ragazzo di Linux quindi il comportamento potrebbe essere diverso ma provare a visitare localhost: 8080 invece. –