2016-02-28 12 views
14

में फ़ाइल को पिप करने के लिए मुझे रन कमांड के हिस्से के रूप में फ़ाइल या कुछ डेटा डॉकर में पाइप (इंजेक्ट) करने की आवश्यकता है और इसे स्टार्टअप के हिस्से के रूप में कंटेनर में फ़ाइल में लिखा है। क्या ऐसा करने का सबसे अच्छा तरीका है?डॉकर रन

मैंने यह कोशिश की है।

cat data.txt | docker run -a stdin -a stdout -i -t ubuntu /bin/bash -c 'cat >/data.txt' 

लेकिन यह काम करने के लिए प्रतीत नहीं होता है।

+0

क्या इस फ़ाइल को रन टाइम पर इंजेक्शन दिया जाना चाहिए? क्या आप इसे छवि में बना सकते हैं? वैकल्पिक रूप से, क्या आप फ़ाइल को अग्रिम में तैयार कर सकते हैं और फिर मेजबान से कंटेनर में फ़ाइल/फ़ोल्डर को माउंट कर सकते हैं? –

+0

हां - थोड़ा और रंग जोड़ने के लिए, फ़ाइल वास्तव में एक क्रिप्टो कुंजी है जिसे एपीआई से पुनर्प्राप्त किया जाता है और मैं कंटेनर में इंजेक्ट करने की उम्मीद कर रहा था ताकि यह केवल कंटेनर फ़ाइल सिस्टम के लिए उपलब्ध हो। – user1513388

+0

बिल्ली setup.json | डॉकर रन-ए स्टडीन-ए स्टडआउट -आई उबंटू/बिन/बैश-सी 'बिल्ली' मेरे लिए काम करता है। टीटी ड्रॉप – jamie

उत्तर

-3

बेहतर समाधान है कि आप होस्ट फ़ोल्डर को डॉकर कंटेनर तक पहुंचने के लिए (माउंट) बनाना चाहते हैं। जैसे इस

docker run -v /Users/<path>:/<container path> ... 

की तरह यहाँ /Users/<path> अपने मेजबान कंप्यूटर और कंटेनर के अंदर <container path> घुड़सवार पथ पर एक फ़ोल्डर है।

भी Manage data in containers मैनुअल पेज देखें।

अद्यतन अन्य Accessing External Files from Docker Containers उदाहरण।

+0

क्या एक फाइल सिस्टम को माउंट करना संभव है जो केवल एक विशिष्ट कंटेनर के लिए उपलब्ध है? – user1513388

+0

@ उपयोगकर्ता1513388 सुनिश्चित करें। आपके मामले में यह पहली कॉल में 'डॉकर रन -v डेटा.txt: /data.txt -t ubuntu/bin/bash' जैसा दिख सकता है और' डॉकर रन -v डेटा 2.txt: /data2.txt -t ubuntu/बिन/बाश 'उसी कॉल के लिए दूसरी कॉल में' ubuntu' छवि –

+0

अद्यतन के लिए धन्यवाद। क्या वास्तव में एसटीडीआईएन के माध्यम से डेटा पास करना संभव है और क्या यह कंटेनर के भीतर फ़ाइल में लिखा गया है? – user1513388

25
cat setup.json | docker run -i ubuntu /bin/bash -c 'cat' 

यह मेरे लिए काम करता है। टीटी निकालें या तो की जरूरत नहीं है।

+3

डिफ़ॉल्ट प्रविष्टि बिंदु के कारण, 'cat setup.json | डॉकर रन -उ उबंटू बिल्ली 'कई मामलों में काम करेगा – Zero

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