को छोड़कर प्रोजेक्ट फ़ोल्डर जोड़ना मैं एक डॉकर कंटेनर में एक छोटा रेल ऐप चलाने की कोशिश कर रहा हूं। मैं करीब आ रहा हूं, हालांकि मैं अपने डॉकरफाइल से जूझ रहा हूं।डॉकरफ़ाइल
मैंने अपने प्रोजेक्ट फ़ोल्डर में सभी फ़ाइलों को दोबारा जोड़ने के लिए मेरे डॉकरफ़ाइल में निम्न आदेश जोड़ा है।
ADD .
इस के बाद, मैं
RUN bundle install --deployment
चलाने हालांकि, क्योंकि मेरे ADD
आदेश भी Dockerfile कहते हैं, इसका मतलब है कि मेरी छवि कैश हर बार जब मैं मुझे rebundle करने के लिए मजबूर मेरा Dockerfile संपादित टूट जाता है।
https://docs.docker.com/reference/builder/#the-dockerignore-file के अनुसार, मैं एक .dockerignore
फ़ाइल का उपयोग कर सकते Dockerfile अनदेखी करने के लिए है, लेकिन इस docker build
आदेश
2014/09/17 22:12:46 Dockerfile was excluded by .dockerignore pattern 'Dockerfile'
कैसे मैं आसानी से अपने छवि के लिए अपने प्रोजेक्ट में जोड़ सकते हैं के साथ विफल करने का कारण बनता है, लेकिन बाहर निकालने के Dockerfile, तो मैं डॉकर छवि कैश तोड़ नहीं है?
वास्तविक समस्या यहाँ फ़ाइल की उपस्थिति नहीं है, लेकिन के कारण डोकर छवि कैश के अमान्यकरण बंडल फिर से चलाने के लिए स्थापित करें। यही वह चीज है जो मैं चीजों को गति देने से बचने की कोशिश कर रहा हूं। –
हाँ, मैं आपके बिंदु को समझता हूं (मुझे वास्तव में एक ही समस्या का सामना करना पड़ता है)। लेकिन ऐसा लगता है कि यह '.dockerignore'file के साथ अभी तक संभव नहीं है। रखरखाव में से एक बताता है कि इस मुद्दे में क्यों। इसके अलावा, आपको प्राप्त त्रुटि को [कोड स्रोत में] परिभाषित किया गया है (https://github.com/docker/docker/blob/e49c70109228d657790190007c8f9d7c55a25be2/api/client/commands.go#L136-L142)। तो इस पल के लिए, मुझे डर है कि यह संभव नहीं है। – Kuhess
मैंने कैश बेदखल मुद्दे पर ध्यान केंद्रित करने के लिए उत्तर को अभी संशोधित किया है। – Kuhess