ডকার ENV বনাম রুন রফতানি


91

আসুন আমি এই কমান্ডগুলি একত্রিত করতে চাই

RUN command_1
ENV FOO bar
RUN command_2

মধ্যে

RUN command_1 && export FOO=bar && command_2

এবং ভাবছেন সঙ্গে পরিবর্তনশীল অস্ত যাবার সময় RUN exportবনাম ENVসমতুল্য ছিল।

অন্য কথায়, ডকফাইফিলের মধ্যে এই আদেশগুলির মধ্যে কোনও পার্থক্য রয়েছে?

ENV FOO bar

বনাম

RUN export FOO=bar

উত্তর:


148

684 ইস্যু দ্বারা চিত্রিত হিসাবে , exportসমস্ত চিত্র জুড়ে থাকবে না। (ভুলে যাবেন না যে প্রতিটি ডকফিলাইল নির্দেশিকা একটি মধ্যবর্তী চিত্র ধারণ করে একটি মধ্যবর্তী পাত্র তৈরি করবে: সেই চিত্রটি রফতানি মান সংরক্ষণ করবে না)
ENV:

পরিবেশিত পরিবর্তনগুলি সেট করে ENVযখন ফলক চিত্র থেকে একটি ধারক চালিত হয় তখনই চলতে থাকবে।
আপনি মানগুলি ব্যবহার করে দেখতে পারেন docker inspectএবং তাদের ব্যবহার করে পরিবর্তন করতে পারেন docker run --env <key>=<value>

ইস্যুটি এর সাথে বর্ণনা করছিল:

RUN export PATH=$PATH:/foo/bar # from directly in builder

যখন আমি docker run [img] bash -c 'echo $PATH'এটি কখনই অন্তর্ভুক্ত না /foo/bar

চেষ্টা করে দেখুন

এতে একটি নতুন ডকফায়াইল তৈরি করুন:

FROM centos:6
ENV FOO=foofoo
RUN export BAR=barbar
RUN export BAZ=bazbaz && echo "$FOO $BAR $BAZ"

তারপরে এটি নির্মাণ করুন। শেষ পদক্ষেপের ফলাফল:

Step 4/4 : RUN export BAZ=bazbaz && echo "$FOO $BAR $BAZ"
 ---> Running in eb66196b238d
foofoo  bazbaz

তুমি দেখতে পার:

  • FOOমধ্যবর্তী পাত্রে চলতে থাকে, ENVকীওয়ার্ডকে ধন্যবাদ ;
  • BARexportকমান্ডের কারণে পরবর্তী পদক্ষেপে অটল থাকে না ;
  • BAZ সঠিকভাবে প্রদর্শিত হয় কারণ একই ধারকটিতে চলকটি ব্যবহৃত হয়।

(আমি হ্যাঁ অনুমান করি, তবে :) এর অর্থ কি এই dockerউদাহরণগুলি ( যেমন এই বিকল্প যুক্তি দ্বারা) ভেরিয়েবলগুলি runসহ রফতানি করবে --env-fileবা --envকরবে? এইরকম পুরানো উত্তরের উপর ঝাঁপিয়ে পড়ার জন্য দুঃখিত তবে একটি ওয়েবসার্ক এটি কেবল আমার কাছে এনেছে। সুন্দর উত্তর বিটিডব্লিউ।
হ্যাক্রে

@hakre হ্যাঁ, তারা পরিবেশ যোগ করা হয়: দেখুন stackoverflow.com/a/49872152/6309 এবং নীচে।
ভোনসি

দ্রুত উত্তরের জন্য ধন্যবাদ, তবে সেই উত্তরটি প্রদর্শন করে না যে চলকগুলি রফতানির জন্য চিহ্নিত করা হয়েছে। কমপক্ষে আমার কাছে নয়। যাইহোক, আমার নিজের হোমওয়ার্ক এখানে করা উচিত, উদাহরণস্বরূপ superuser.com/q/450868/63279 বা pubs.opengroup.org/onlinepubs/9699919799/utilities/…
hakre
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.