ডকারে আমি এটি করতে চাই:
git clone XYZ
cd XYZ
make XYZ
তবে কোনও সিডি কমান্ড না থাকায় আমাকে পুরো সময়টি পাস করতে হবে (এক্সওয়াইজেড / ফুলপথ তৈরি করুন)। এর জন্য কোন ভাল সমাধান?
ডকারে আমি এটি করতে চাই:
git clone XYZ
cd XYZ
make XYZ
তবে কোনও সিডি কমান্ড না থাকায় আমাকে পুরো সময়টি পাস করতে হবে (এক্সওয়াইজেড / ফুলপথ তৈরি করুন)। এর জন্য কোন ভাল সমাধান?
উত্তর:
আপনি কোনও স্ক্রিপ্ট, বা আরও জটিল পরামিতি চালাতে পারবেন run পূর্বে দেখার জন্য ডাউনলোড করা একটি ডকফেরাইলের উদাহরণ এখানে:
RUN cd /opt && unzip treeio.zip && mv treeio-master treeio && \
rm -f treeio.zip && cd treeio && pip install -r requirements.pip
'&& 'ব্যবহারের কারণে, পূর্ববর্তী সমস্ত কমান্ড সফল হলে এটি কেবল চূড়ান্ত' পাইপ ইনস্টল 'কমান্ডটি পাবে।
প্রকৃতপক্ষে, যেহেতু প্রতিটি আরএন একটি নতুন কমিট তৈরি করে এবং (বর্তমানে) একটি এউএফএস স্তর তৈরি করে, আপনার যদি ডকফাইফিলের মধ্যে অনেকগুলি কমান্ড থাকে, আপনি সীমাটি ব্যবহার করবেন, সুতরাং আরএনএসগুলি (ফাইলটি স্থিতিশীল থাকাকালীন) মার্জ করা খুব কার্যকর হতে পারে দরকারী জিনিস।
cd
একমাত্র এর প্রভাব বর্তমান RUN
কমান্ডের জন্যই স্থায়ী । পরবর্তীটি RUN
বর্তমান থেকে শুরু হবে WORKDIR
।
অন্য ডিরেক্টরিতে পরিবর্তন করতে WORKDIR ব্যবহার করুন । ওয়ার্কডিরের পরে সমস্ত আরএন, সিএমডি এবং ENTRYPOINT কমান্ডগুলি সেই ডিরেক্টরি থেকে কার্যকর করা হবে।
RUN git clone XYZ
WORKDIR "/XYZ"
RUN make
RUN git clone http://username:password@url/example.git
WORKDIR /folder
RUN make