2017-10-24 22 views
5

मैं वर्तमान में एक स्थानीय रूप से परीक्षण किया है और काम कर वेब अनुप्रयोग है कि 4 डोकर कंटेनरों के होते है। मेरे पास 4 डॉकरफाइल हैं, प्रत्येक के लिए एक है, और मैं डॉकर-compose.yml के साथ बिल्ड का प्रबंधन करता हूं।डोकर कंटेनरों द्वारा प्रबंधित पुश करने के लिए कैसे Heroku को डोकर-रचना? जावा MVC, NodeJS, बोतल, और MongoDB:

हालांकि, अब मैं अपना कोड हेरोोकू में धक्का देना चाहता हूं और मैंने https://devcenter.heroku.com/articles/container-registry-and-runtime पर दस्तावेज़ पढ़ा है। हालांकि, यह उत्पादन लाइन पर डॉकर-रचना का उपयोग करने के बारे में बहुत ही अजीब लगता है।

"।। आप एक बहु कंटेनर आवेदन आप डोकर लिखें उपयोग कर सकते हैं अपने स्थानीय विकास के वातावरण को परिभाषित करने के लिए जानें स्थानीय विकास के लिए डोकर लिखें उपयोग करने के लिए कैसे बना लिया है": यह वही है डॉक्स पर कहते है

किसी को भी मैं कैसे Heroku के CLI का उपयोग कर Heroku कंटेनर अपने प्रोजेक्ट को धक्का कर सकते हैं में से कुछ वास्तविक कोड के लिए मेरे गाइड कर सकते हैं?

+0

आप एक डोकर-compose.yml फ़ाइल बनाई है? आप Dockerfile अपने अनुप्रयोगों और बंदरगाहों के लिए डोकर चित्र बनाने के लिए है, तो आप को बेनकाब करने और चाहते हैं की मात्रा आप माउंट करने के लिए चाहते हैं। हम एक डॉकर-compose.yml –

+0

बना सकते हैं यदि आपके एप्लिकेशन एक-दूसरे पर निर्भर हैं, तो हम सभी के लिए रचना बना सकते हैं अन्यथा आपको व्यक्तिगत डॉकर-कंपोज़.आईएमएल फाइलें बनाना होगा –

+0

@ जिन्नाबालु में पहले से ही एक डॉकर-कंपोज़.आईएमएल है। हालांकि, मैं अंततः अपने कोड को हेरोकू में धक्का देने का एक तरीका ढूंढ रहा हूं क्योंकि दस्तावेज़ इस पर बहुत संदिग्ध हैं। – AspiringMat

उत्तर

0

आप करते हैं के लिए देख रहे हैं क्या के लिए अधिक सटीक Heroku प्रलेखन यहाँ है: https://devcenter.heroku.com/articles/container-registry-and-runtime

ऊपर Heroku कंटेनर प्लगइन स्थापित करने और रजिस्ट्री में प्रवेश करने के बारे में बताएंगे। तुम भी अपने dockerfile में निम्न पंक्ति के साथ एक Dockerfile के लिए एक छवि की ओर पलायन कर सकते हैं:

FROM "<insert Dockerfile tag here>" 

आसानी से इसे सेट करने के, आप इस तरह Dockerfile.mongo, Dockerfile.node, Dockerfile के रूप में विभिन्न प्रत्ययों, के साथ अपने Dockerfiles नाम होगा .flask, और Dockerfile.javamvc। प्रत्यय आपके वेब ऐप के लिए इस्तेमाल किए गए डिनो नाम को उसके बारे में बताता है।

heroku container:push --recursive 

Heroku रूप docker- नहीं पढ़ता: जब आप अपने कंटेनर के सभी पुश करने के लिए की जरूरत है, आप के रूप में उन सभी को अद्वितीय प्रत्यय निम्न आदेश है, जो रिकर्सिवली सभी dockerfiles रूप में लंबे समय का निर्माण करेगा साथ ऐसा कर सकते हैं फ़ाइलों को लिखें, किसी भी पर्यावरण परिवर्तनीय सेटअप/पोर्ट एक्सपोजर/आदि को डॉकरफ़ाइल में माइग्रेट करने की आवश्यकता होगी। साथ ही, मैं नहीं जानता कि हेरोकू पर कंटेनर के साथ लगातार स्टोरेज/वॉल्यूम बढ़ाना कैसे है, मैं आपके मोंगो डेटाबेस के लिए एक हेरोकू ऐड-ऑन का उपयोग करने की सलाह दूंगा।

Heroku पर, आपको प्रत्येक Dockerfile का प्रत्यय के रूप में प्रत्येक dyno के नाम के साथ अपने अनुप्रयोग Dockerfile प्रति एक dyno के रूप में चल देखेंगे,।

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