একটি ডকফাইফিলের কাছে কীভাবে যুক্তিগুলি পাস করবেন?


119

আমি Dockerfileএকটি আরপিএম ইনস্টল করার জন্য আরএন নির্দেশ ব্যবহার করছি

RUN yum -y install samplerpm-2.3

তবে আমি "2.3" মানটি একটি আর্গুমেন্ট হিসাবে পাস করতে চাই। আমার আরআরএন নির্দেশাবলীর মতো দেখতে কিছু হওয়া উচিত:

RUN yum -y install samplerpm-$arg

কোথায় $arg=2.3

উত্তর:


151

আপনি খুঁজছেন --build-argএবং ARGনির্দেশ। এগুলি ডকার ১.৯ হিসাবে নতুন। পরীক্ষা করে দেখুন https://docs.docker.com/engine/reference/builder/#arg । এটি আপনাকে যুক্ত ARG argকরতে Dockerfileএবং তারপরে বিল্ড করার অনুমতি দেবে docker build --build-arg arg=2.3 .


1
সব কিছু করার পরে, আমি একটি ত্রুটি পাচ্ছি ** কোনও প্যাকেজ নমুনা- $ আরগ উপলব্ধ নেই। ** মনে হচ্ছে 2.3 এর আর্গুমেন্টের মান প্রতিস্থাপিত হচ্ছে না।
মেলহোর

1
আপনার সম্ভবত সম্ভবত একটি নতুন প্রশ্ন তৈরি করতে হবে Dockerfile, নির্মাণের জন্য ব্যবহৃত কমান্ড এবং এর সাথে সহায়তা করার জন্য আমার জন্য ত্রুটি।
অ্যান্ডি শিন

2
পরিবর্তে env ভেরিয়েবল সম্পর্কে কি?
আলেকজান্ডার মিলস 3
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.