2015-06-15 15 views
20

मुझे लगता है कि मैं पहली बार एक प्रश्न पूछना नहीं कर रहा हूँ, लेकिन यह करने के लिए कोई स्पष्ट उत्तर नहीं था:डोकर-लिखें और pdb

कैसे अजगर के विकास में डोकर-संगीतकार के साथ pdb उपयोग करने के लिए?

जब आप के बारे में django docker आप कमाल डोकर-संगीतकार उदाहरण और ट्यूटोरियल हो और मैं एक ऐसे वातावरण में काम कर रहे है चाचा गूगल पूछना - जो बहुत है मैं docker-compose up चला सकते हैं और मैं एक साफ डेवलपर वातावरण है, लेकिन PDB काम नहीं कर रहा (उदास)।

मैं docker-compose run my-awesome-app python app.py 0.0.0.0:8000 चल साथ तय कर सकते लेकिन फिर मैं मेजबान से http://127.0.0.1:8000 पर मेरे आवेदन पहुंच सकते हैं (मैं docker-compose up साथ कर सकते हैं) और ऐसा लगता है कि हर बार जब मैं run नई कंटेनर का उपयोग की तरह बना रहे हैं: dir_app_13 और dir_db_4 जो मैं डॉन ' बिल्कुल इच्छा नहीं है।

अच्छी इच्छा के लोग कृपया मेरी सहायता करें।

पुनश्च
मुझे लगता है कि उदाहरण के लिए pdb ++ और this django example से एक बुनियादी डोकर-compose.yml उपयोग कर रहा हूँ। इसके अलावा मैंने प्रयोग किया लेकिन कुछ भी मेरी मदद करने लगता है। और मैं डॉकर-कंपोज़र 1.3.0rc3 का उपयोग कर रहा हूं क्योंकि इसमें डॉकरफ़ाइल पॉइंटिंग समर्थन है।

उत्तर

19

--service-बंदरगाहों के विकल्प के साथ अपने वेब कंटेनर चलाने की कोशिश करें: docker-compose run --service-ports web

+0

कि यह किया मिलेगा! आप दयालु हैं शुक्रिया। अब मैं अपने पर्यावरण को बनाने और अपनी सेवा चलाने के लिए डॉकर-कंपोज़ का उपयोग कर रहा हूं या 'डॉकर-कंपोज़ रन - आरएम - सर्विस-पोर्ट्स के साथ अपने परीक्षणों का उपयोग कर रहा हूं my-awesome-app python app.py 0.0.0.0: 8000'। अलविदा Vagrant! – McAbra

+0

मुझे इस विधि के साथ कुछ समस्या है। जब मैं पीडीबी – Jitu

+0

में कुछ टाइप कर रहा हूं तो मेरा टर्मिनल खाली है, हालांकि आप पीडीबी प्रॉम्प्ट पर जाते हैं? मुझे नहीं पता कि बिना किसी जानकारी के मदद कैसे करें, जैसे आप किस ढांचे का उपयोग कर रहे हैं, कौन सी सेवाएं इत्यादि। – Jamey

27

किसी भी अजगर स्क्रिप्ट पर pdb संलग्न करने के लिए निम्न चरणों का उपयोग।

चरण 1. अपने YML फ़ाइल

stdin_open: true 
tty: true 

में निम्नलिखित जोड़ें इस इंटरैक्टिव मोड सक्षम हो जाएगा और stdin जोड़ देती है। यह -it मोड के बराबर है।

चरण 2.

docker attach <generated_instanceid> 

अब आप pdb खोल

+0

यह मेरे लिए मेरे सभी कंटेनरों को 'डॉकर-कंपोज़ अप' के साथ शुरू करने का प्रयास करते समय पूरी तरह से काम करता है, धन्यवाद। – Nobilis

+2

किसी कारण से, यह मेरे लिए काम नहीं करता है। मेरे पास डॉकर-कंपोज़ संस्करण 2.1 – Divick

+0

है, इस सवाल को तैयार करने के बाद मुझे आश्चर्य है कि यह स्वीकार्य उत्तर नहीं है। कुछ quirks है लेकिन बिल्कुल क्या करता है के लिए पूछा गया था। –

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