में चल रहे टॉमकैट 8 पर जावा वेबपैप को तैनात करना मैं टॉमकैट और डॉकर के लिए काफी नया हूं - इसलिए शायद मुझे इस प्रश्न में कहीं भी टॉमकैट मौलिक याद आ रहा है।डॉकर कंटेनर
जो मैं करने की कोशिश कर रहा हूं वह एक डॉकर कंटेनर बनाता है जो स्प्रिंगबूट को सुरक्षित वेब सेवा चलाता है जो कुछ स्थिर डेटा देता है। यह सब ओएसएक्स पर चल रहा है इसलिए मैं Boot2Docker का भी उपयोग कर रहा हूं।
मैं अपने खुद के Dockerfile लिखा है कंटेनर है कि मेरे ऐप में चलाता है निर्माण करने के लिए:
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/
यह Dockerfile ठीक काम करता है और मैं बनाया छवि से कंटेनर शुरू करने के लिए कर रहा हूँ।
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 पथ Dockerfile में वर्णित को कॉपी किया है। इसके अलावा मैं यह पुष्टि करने के लिए टॉमकैट डिफ़ॉल्ट पृष्ठ पर नेविगेट करने में सक्षम हूं कि टॉमकैट चल रहा है, मैं भी सभी उदाहरणों को हिट कर सकता हूं,
समस्या के लिए, जब मैं http://192.168.59.103:8888/myapp/getData पर नेविगेट करता हूं तो मुझे 404 मिलते हैं। मैं काफी नहीं कर सकता क्यों पता लगाओ। क्या मुझे टॉमकैट पर तैनात एक .war के बारे में कुछ याद आ रहा है?
आप उस आईपी पते को कहां से प्राप्त कर रहे हैं? –
यह मेरे Boot2Docker VM को असाइन किया गया है। उस आईपी को मारना:/myapp के बिना पोर्ट डिफ़ॉल्ट टॉमकैट पेज प्रदर्शित करता है। – Chris
मैं एक लिनक्स लड़का हूं इसलिए व्यवहार भिन्न हो सकता है लेकिन स्थानीयहोस्ट पर जाने का प्रयास करें: इसके बजाय 8080। –