2016-01-28 28 views
17

में जार फ़ाइल चलाएं मैं जावा में एक डॉकर छवि बना रहा हूं और छवि में जार फ़ाइल को कॉपी कर रहा हूं। मेरे Dockerfile है: आदेशडॉकर छवि

docker build -t imageName. 

सांत्वना मैं देख आवेदन और प्रत्येक भाग को से उत्पादन ठीक है में निम्नलिखित को निष्पादित

FROM anapsix/alpine-java 
MAINTAINER myNAME 
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar 
RUN java -jar /home/testprj-1.0-SNAPSHOT.j 

के बाद। लेकिन जब मैं छवि को रोकता हूं तो मुझे नहीं पता कि छवि को फिर से कैसे चलाया जाए? आदेश के बाद जब निष्पादित करें:

docker run -i -t imageName java -jar /home/testprj-1.0-SNAPSHOT.jar 

आवेदन रन फिर से, लेकिन मेरे Dockerfile में मैं पहले से ही इस आदेश को लिखा था। इस कमांड के बिना छवि कैसे चलाएं और एप्लिकेशन स्वचालित रूप से चलाया जाए?

उत्तर

35

छवियों और कंटेनरों के बीच एक अंतर है।

  • छवियाँ एक बार का निर्माण किया जाएगा
  • आप छवियाँ

आपके मामले में से कंटेनर शुरू कर सकते हैं:

अपनी छवि बदलना:

FROM anapsix/alpine-java 
MAINTAINER myNAME 
COPY testprj-1.0-SNAPSHOT.jar /home/testprj-1.0-SNAPSHOT.jar 
CMD ["java","-jar","/home/testprj-1.0-SNAPSHOT.jar"] 

अपने छवि का निर्माण:

docker build -t imageName . 

अब एक कंटेनर के अंदर अपने कार्यक्रम आह्वान:

docker run --name myProgram imageName 

अब कंटेनर पुन: प्रारंभ करके अपने कार्यक्रम को पुनः आरंभ:

docker restart myProgram 

आपका कार्यक्रम बदल? छवि को पुनर्निर्माण करें !:

docker rmi imageName 
docker build -t imageName . 
+2

मुझे यह कहते हुए एक त्रुटि मिलती है "त्रुटि: jarfile /opt/helloworld.jar तक पहुंचने में असमर्थ" !! क्या मुझे जार के लिए कोई अनुमति देनी चाहिए? –

+0

यह मेरे साथ हुआ है: जार का मार्ग सही नहीं है। आपको इसे देखना चाहिए। – Sam003

+0

मुझे सापेक्ष नामों के कारण भी असफल रहा ... – chenchuk

संबंधित मुद्दे