डॉकरफाइल से तर्क कैसे पारित करें?


120

मैं Dockerfilerpm इंस्टाल करने के लिए RUN निर्देश का उपयोग कर रहा हूँ

RUN yum -y install samplerpm-2.3

हालांकि, मैं "2.3" मान को एक तर्क के रूप में पारित करना चाहता हूं। मेरा RUN निर्देश कुछ इस तरह दिखना चाहिए:

RUN yum -y install samplerpm-$arg

कहाँ पे $arg=2.3

जवाबों:


152

आप देख रहे हैं --build-argऔर ARGअनुदेश। ये डॉकर 1.9 की तरह नए हैं। की जाँच करें https://docs.docker.com/engine/reference/builder/#arg । यह आपको फिर से जोड़ने और निर्माण ARG argकरने की अनुमति देगा ।Dockerfiledocker build --build-arg arg=2.3 .


1
वह सब करने के बाद, मुझे एक त्रुटि मिल रही है ** कोई पैकेज samplerpm- $ arg उपलब्ध नहीं है। ** ऐसा लगता है कि 2.3 का तर्क मूल्य प्रतिस्थापित नहीं हो रहा है।
foodlhour

1
आपको संभवतः इसके साथ एक नया प्रश्न बनाने की आवश्यकता होगी Dockerfile, जिसके निर्माण के लिए कमांड का उपयोग किया गया है, और इसके लिए सहायता करने के लिए मेरे लिए त्रुटि।
एंडी शिन

2
इसके बजाय env चर के बारे में क्या?
अलेक्जेंडर मिल्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.