मैं डॉकर रन के साथ एक निर्देशिका में सीडी क्यों नहीं कर सकता?

मुझे एक विशिष्ट निर्देशिका से एक एप्लिकेशन चलाने की आवश्यकता है ।

$ sudo docker run -P ubuntu/decomposer 'cd /local/deploy/decomposer; ./decomposer-4-15-2014'2014/10/09 21:30:03 exec: "cd /local/deploy/decomposer; ./decomposer-4-15-2014": stat cd /local/deploy/decomposer; ./decomposer-4-15-2014: no such file or directory

वह निर्देशिका निश्चित रूप से मौजूद है, और अगर मैं बैश को अंतःक्रियात्मक रूप से चलाकर डॉकर से जुड़ता हूं तो मैं उपरोक्त कमांड चला सकता हूं ।

$ sudo docker run -i -t ubuntu/decomposer /bin/bash# cd /local/deploy/decomposer; ./decomposer-4-15-2014

मैं पूर्ण पथ निर्दिष्ट करके अपना कार्यक्रम चला सकता हूं, लेकिन फिर यह क्रैश हो जाता है क्योंकि यह वर्तमान निर्देशिका से लॉन्च होने की उम्मीद करता है । मैं क्या कर सकता हूँ?

आप उपयोग कर सकते हैं -w अपनी कार्यशील निर्देशिका को बदलने का विकल्प ।

docker run  -w, --workdir=""           Working directory inside the container

तो, आपके मामले में, आप दौड़ेंगे:

sudo docker run -w /local/deploy/decomposer -P ubuntu/decomposer ./decomposer-4-15-2014

अपने आदेश को इस तरह /बिन/श के तर्क के रूप में पास करें:

sudo docker run -P ubuntu/decomposer /bin/sh -c 'cd /local/deploy/decomposer; ./decomposer-4-15-2014'

वर्किंग डायरेक्टरी सेट करने के लिए अपने डॉकरफाइल में वर्कडिर का उपयोग करें । फिर आप निष्पादन के साथ अपना आदेश चला सकते हैं ।

यह मुझे अनुमति समस्या के कारण हो सकता है या उदाहरण निष्पादन योग्य उपलब्ध पथ खोजने में सक्षम नहीं है । इसे जांचने के लिए पथ में निष्पादन योग्य उपलब्ध स्थान जोड़ने का प्रयास करें और स्क्रिप्ट चलाने का प्रयास करें

पथ में वर्तमान निर्देशिका जोड़ने के लिए कृपया नीचे दिए गए कमांड का उपयोग करें

$ export PATH=$PATH:

मेरे पास इस वेबसाइट से एक समान उदाहरण है https://djangostars.com/blog/what-is-docker-and-how-to-use-it-with-python/#header13:

docker run -d --name "test-nginx" -p 8080:80 -v $(pwd):/usr/share/nginx/html:ro nginx:latest

यह कमांड गिट बैश और विंडोज पर काम नहीं करता है ।

समाधान का उपयोग करना था cd के बजाय $(pwd):

docker run -d --name "test-nginx" -p 8080:80 -v cd:/usr/share/nginx/html:ro nginx:latest