2016-10-26 7 views
5

मैं एक डॉकर कंटेनर बनाने की कोशिश कर रहा हूं जिसका स्रोत टैग मैं पैरामीटर के रूप में पास करना चाहता हूं।डॉकर - स्रोत फ़ाइल में Arg बनाएँ

बिल्ड स्क्रिप्ट:

docker build \ 
    --pull=true \ 
    ... 
    --build-arg version=${version} 

Dockerfile:

ARG version 

FROM registry/repo:${version} 

इस रनिंग मुझे prior to commit से त्रुटि Please provide a source image with देता है।

क्या कोई तरीका है कि मैं निर्माण तर्क के रूप में खींचने के लिए संस्करण को पास कर सकता हूं और इसका उपयोग कर सकता हूं? मैं डोकर संस्करण 1.12

+0

_ "कृपया पहले से प्रतिबद्धता के साथ एक स्रोत छवि प्रदान करें" _ का अर्थ है कि आपको अपने डॉकरफ़ाइल में 'ARG' का उपयोग करने में सक्षम होने से पहले' FORM' का उपयोग करना होगा। – Marcs

+0

क्या मेरा जवाब अश्विनी की मदद करता था? – johnharris85

+0

@ जॉनहरिस 85: हाँ एक तरह से। आपके उत्तर को स्वीकार किया गया –

उत्तर

8

According to the docs पर हूँ, पहले निर्देश FROM (या तकनीकी रूप से एक पार्सर निर्देश, लेकिन यहाँ प्रासंगिक नहीं) तो इस दृष्टिकोण की संभावना काम करने के लिए नहीं जा रहा है की जरूरत है। शायद docker build... के आसपास कुछ शेल रैपर कुछ sed कमांड या सही संस्करण डालने के लिए कुछ, या किसी प्रकार का टेम्पलेट।

Gareth Rushgrove had a nice talk at DockerCon16 छवि निर्माण टूलिंग पर जो दिलचस्प हो सकता है।

अद्यतन (7/2/17): यह now possible to achieve since v17.06 है।

+0

यह तब से बदला गया है, https://github.com/moby/moby/pull/31352 – synhershko

+0

देखें कि एआरजी से पहले आ सकता है https://docs.docker.com/engine/reference/ बिल्डर/# समझ-कैसे-तर्क-और-से-इंटरैक्ट – dtothefp

+1

वास्तव में डॉकर v17.05 के बाद उपलब्ध है। https://github.com/moby/moby/pull/31352 – Shane

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