2016-03-03 7 views
5

में चलाने के लिए आदेश पंक्ति तर्क पारित करने के लिए मैं एक अजगर perf_alarm_checker.py बुलाया फ़ाइल है, इस अजगर फ़ाइल दो आदेश पंक्ति तर्क की आवश्यकता है: python perf_alarm_checker.py -t something -d something, Dockerfile इस तरह दिखता है:कैसे एक अजगर स्क्रिप्ट डोकर

# Base image 
FROM some base image 

ADD perf_alarm_checker.py /perf-test/ 

CMD python perf_alarm_checker.py 

कैसे करें दो कमांड लाइन तर्क, -t और -d से docker run पास करें? मैंने docker run -w /perf-test alarm-checker -t something -d something की कोशिश की लेकिन काम नहीं करता।

उत्तर

4

आप -t और -d का उपयोग नहीं कर सकते हैं, क्योंकि वे docker run के विकल्प हैं।

  • -t एक टर्मिनल शुरू होता है।
  • -d डॉकर कंटेनर को डिमन के रूप में शुरू करता है।

अपने डॉकरफ़ाइल में पर्यावरण चर सेट करने के लिए ENV कमांड का उपयोग करें।

ENV <key>=<value> 

Dockerfile reference देखें।

एक अन्य विकल्प docker run के माध्यम से वातावरण चर पारित करने के लिए है:

docker run ... -e "key=value" ... 

docker run reference देखें।

उन पर्यावरण चर को CMD से एक्सेस किया जा सकता है।

CMD python perf_alarm_checker.py -t $ENV1 -d $ENV2 
5

अध्यक्ष एवं प्रबंध निदेशक के बजाय एक ENTRYPOINT का प्रयोग करें और फिर आप अपने उदाहरण की तरह डोकर समय में कमांड लाइन विकल्पों का उपयोग कर सकते हैं।

ENTRYPOINT ["python", "perf_alarm_checker.py"]

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