2014-10-10 15 views
12

मैं धीरे-धीरे हमारी आवश्यकताओं के लिए एक डॉकर छवि बनाने की कोशिश कर रहा हूं। मैं जो करना चाहता हूं, वह मेरी मूल छवि चलाता है जिसमें मोनो होता है, और फिर मोनो पृष्ठभूमि में निष्पादन योग्य चलाता है।डॉकर चलाने के लिए कमांड लाइन तर्क

/usr/local/bin/mono /home/crystal/Downloads/BackgroundProcesser.exe & 

यह ठीक काम करता है: सामान्य कमांड लाइन से एक कंटेनर में इसे चलाने के लिए कोशिश कर के बिना, यह कैसा दिखेगा।

sudo docker run -i -t crystal/mono-base /usr/local/bin/mono /home/crystal/Downloads/BackgroundProcesser.exe & 

मैं No such file or directory मिल: लेकिन जब मैं तो जैसे कंटेनर चलाने अगर मैं यह करने के लिए प्रयास करें। क्या कोई तरीका है कि मैं & पास कर सकता हूं? आखिरकार, मैं पृष्ठभूमि में इस पृष्ठभूमिप्रोसेसर को चलाने के लिए & पास करना चाहता हूं, और उसके बाद अग्रभूमि में एक और ऐप चला सकता हूं। मैंने इस पोस्ट को एक अलग समाधान के लिए देखा, http://blog.trifork.com/2014/03/11/using-supervisor-with-docker-to-manage-processes-supporting-image-inheritance/, लेकिन मैंने सोचा कि मैं अपने ऐप के लिए अवधारणा सामग्री के सबूत के लिए कमांड लाइन से कुछ सामान चला सकता हूं।

उत्तर

17

यह एक स्ट्रिंग के रूप में एक कमांड लाइन देने के लिए पार्टी की योजना बनाई -c विकल्प का उपयोग:

sudo docker run -i -t crystal/mono-base bash -c "/usr/local/bin/mono /home/crystal/Downloads/BackgroundProcesser.exe & /bin/bash" 

और कंटेनर के लिए backgrounded आदेश के बाद कुछ डाल तुरंत बाहर नहीं

0

@ Ulfeldt के जवाब काम करता है। आप अपनी प्रक्रियाओं को प्रबंधित करने के लिए एक स्क्रिप्ट बनाना चाहते हैं, क्योंकि इस तरह की कमांडलाइन जल्दी से हाथ से बाहर हो जाएगी। आप कई प्रक्रियाओं को चलाने के लिए पर्यवेक्षक का भी उपयोग कर सकते हैं, जैसा कि elsewhere समझाया गया है।

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