আপনি নিজের ডকার ইমেজে একটি স্থানীয় ডিরেক্টরি মাউন্ট করতে পারেন এবং আপনার স্ক্রিপ্টটির উত্স তৈরি করতে পারেন .bashrc। আপনি প্রতিটি নতুন শেলের উপর চালিত না করতে চাইলে স্ক্রিপ্টটিতে ফাংশন থাকতে হবে তা ভুলে যাবেন না। (আপডেটের বিজ্ঞপ্তিটি দেখুন এটি পুরানো))
আমি ডকারের উদাহরণগুলির বাইরে স্ক্রিপ্টটি আপডেট করতে সক্ষম হতে এই সমাধানটি ব্যবহার করছি। এই পরিবর্তনগুলি ঘটে থাকলে আমাকে পুনরায় চালিত করতে হবে না, আমি কেবল একটি নতুন শেল খুলি। (শেলটি পুনরায় খোলার হাত থেকে মুক্তি পেয়েছে - আপডেট বিজ্ঞপ্তি দেখুন)
আপনি কীভাবে আপনার বর্তমান ডিরেক্টরিটিকে বেঁধে রাখছেন তা এখানে:
docker run -it -v $PWD:/scripts $my_docker_build /bin/bash
এখন আপনার বর্তমান ডিরেক্টরিটি /scriptsআপনার ডকার উদাহরণের সাথে আবদ্ধ ।
(পুরানো) আপনার .bashrcপরিবর্তনগুলি সংরক্ষণ করতে এই আদেশটি দিয়ে আপনার কার্যকরী চিত্র প্রতিশ্রুতিবদ্ধ:
docker commit $container_id $my_docker_build
হালনাগাদ
প্রতিটি পরিবর্তনের জন্য একটি নতুন শেল খোলার জন্য সমস্যাটি সমাধান করার জন্য আমি এখন নিম্নলিখিতটি করছি:
ডকফায়লে নিজেই আমি যুক্ত করি RUN echo "/scripts/bashrc" > /root/.bashrc"। ভিতরে zshrcআমি স্ক্রিপ্ট ডিরেক্টরি এক্সপোর্ট করি। স্ক্রিপ্ট ডিরেক্টরিতে এখন একের পরিবর্তে একাধিক ফাইল রয়েছে। এখন আমি প্রতিটি পরিবর্তনে সাব শেলটি না খালি সরাসরি সমস্ত স্ক্রিপ্টগুলিতে কল করতে পারি।
বিটিডাব্লু আপনি নিজের ধারকটির বাইরেও ইতিহাসের ফাইলটি সংজ্ঞায়িত করতে পারেন। এইভাবে আর কোনও ব্যাশ পরিবর্তনে প্রতিশ্রুতিবদ্ধ হওয়া দরকার নেই।
WORKDIRএবংCMD?