2017-07-04 12 views
5

देने अप डोकर-रचना एक बार मैं निष्पादित docker-compose build यह पूरी तरह कार्यान्वित मैं की तरह नीचेत्रुटि

. 
├── docker-compose.yml 
└── web-app 
    ├── create_tomcat_admin.sh 
    ├── Dockerfile 
    ├── pom.xml 
    └── run.sh 

और मेरे docker-compose.yml तरह

version: '3' 
services: 
    web-app: 
    build: 
     context: . 
     dockerfile: web-app/Dockerfile 
    ports: 
     - 8080:8080 
    network_mode: "host" 

है फ़ोल्डर संरचना है और टर्मिनल में यह

नीचे की तरह से पता चलता
Step 10/15 : ADD /web-app/create_tomcat_admin_user.sh /create_tomcat_admin_user.sh 
---> Using cache 
---> 6ca9922b3628 
Step 11/15 : ADD /web-app/run.sh /run.sh 
    ---> Using cache 
    ---> c1e843f2f67a 
Step 12/15 : RUN chmod +x /*.sh 
    ---> Using cache 
    ---> 6b8e781b830c 
Step 13/15 : COPY /web-app/target/*.war /tomcat/webapps 
    ---> Using cache 
    ---> fc046d9d1d3e 
Step 14/15 : EXPOSE 8080 
    ---> Using cache 
    ---> 68f788c21a84 
Step 15/15 : CMD /run.sh 
    ---> Using cache 
    ---> d88cc5594980 
Successfully built d88cc5594980 
Successfully tagged opt_web-app:latest` 

डॉकर-रचना बनाने के बाद, जब मैंनिष्पादित करता हूंयह त्रुटि दे रहा है

[email protected]:~/Desktop/opt$ docker-compose up 
Starting opt_web-app_1 
Attaching to opt_web-app_1 
web-app_1 | standard_init_linux.go:187: exec user process caused "no such file or directory" 
opt_web-app_1 exited with code 1 
[email protected]:~/Desktop/opt$ 

जहां मैं गलत हो रहा हूं? लेकिन docker-compose.yml सही बनाते समय त्रुटि प्रदर्शित की जानी चाहिए?

+0

हो सकता है कि आप ** छवि को सही ढंग से ** बनाने में सक्षम हो, लेकिन ** चल रहा ** छवि त्रुटि उत्पन्न कर सकती है। – Ayushya

+0

run.sh स्क्रिप्ट पिछले। बिल्डिंग और रनिंग अलग-अलग कदम हैं। यदि आप एक ऐसा आदेश प्रदान करते हैं जो आपके कंटेनर में उपलब्ध नहीं है, तो बिल्ड ठीक रहेगा, लेकिन नहीं चल रहा है। – papey

+0

यह मेरा [डॉकरफ़ाइल] है (https://gist.github.com/Beanben/f21d317b926459a0164eff9e9c7e362a) जिसका मैं उपयोग कर रहा हूं। –

उत्तर

0

जब मैंने लिनक्स में बनाई गई एक परियोजना से विंडोज़ पर डॉकर-कंपोज़ चलाने की कोशिश की तो मुझे एक ही त्रुटिपूर्ण त्रुटि हुई। यदि आप विंडोज पर एक लिनक्स प्रोजेक्ट क्लोन करते हैं, तो डिफॉल्ट रूप से गिट विंडोज स्टाइल लाइन एंडिंग्स को जोड़ता है जो किसी भी बैश स्क्रिप्ट को गड़बड़ करता है। यदि यह गिट को कॉन्फ़िगर करने के लिए लाइन अंतराल को कभी भी बदलने के लिए git config --global core.autocrlf false चलाता है। फिर भंडार हटाएं और इसे फिर से क्लोन करें।

वैकल्पिक रूप से यदि आपने विंडोज़ पर प्रोजेक्ट बनाया है, तो कई बार आईडीई विंडोज स्टाइल लाइन एंडिंग जोड़ता है। यदि यह मामला है तो नोटपैड ++ में, मेनू> ईओएल रूपांतरण> यूनिक्स संपादित करें पर क्लिक करें।

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