সুতরাং, ব্যক্তিগতভাবে আমি কেবলমাত্র সাম্প্রতিক এন কনটেইনার এবং চিত্রগুলি রেখে, উভয় চিত্র এবং পাত্রে আপনার ডিপ্লোয় স্ক্রিপ্টের অংশ হিসাবে এটি করার পরামর্শ দিচ্ছি। আমি আমার ডকার চিত্রগুলিকে একই সংস্করণ স্কিমার সাথে ট্যাগ করি git tag
পাশাপাশি সর্বদা সর্বশেষতম ডকার চিত্রটিকে "সর্বশেষ" দিয়ে ট্যাগ করি। এর অর্থ হল যে কোনও কিছুই পরিষ্কার না করে আমার ডকারের চিত্রগুলি এমনভাবে দেখা যাচ্ছে:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
some_repo/some_image 0.0.5 8f1a7c7ba93c 23 hours ago 925.4 MB
some_repo/some_image latest 8f1a7c7ba93c 23 hours ago 925.4 MB
some_repo/some_image 0.0.4 0beabfa514ea 45 hours ago 925.4 MB
some_repo/some_image 0.0.3 54302cd10bf2 6 days ago 978.5 MB
some_repo/some_image 0.0.2 0078b30f3d9a 7 days ago 978.5 MB
some_repo/some_image 0.0.1 sdfgdf0f3d9a 8 days ago 938.5 MB
এখন, অবশ্যই আমি আমার সমস্ত চিত্র (বা পাত্রে) আমার সমস্ত প্রোডাকশন বাক্সে চিরতরে ফিরে যেতে চাই না। আমি কেবল রোলব্যাকের জন্য এবং অন্য কিছু থেকে মুক্তি পাওয়ার জন্য সর্বশেষ 3 বা 4 চাই। ইউনিক্স tail
এখানে আপনার সেরা বন্ধু। যেহেতু docker images
এবং docker ps
উভয়ই তারিখ অনুসারে অর্ডার করেছে, আমরা কেবলমাত্র tail
শীর্ষ তিনটি বাদে সবগুলি বেছে নিতে এবং সেগুলি সরাতে ব্যবহার করতে পারি:
docker rmi $(docker images -q | tail -n +4)
আপনার অতিরিক্ত স্থাপন স্ক্রিপ্টগুলির সাথে চালান (বা স্থানীয়ভাবে) কেবলমাত্র যথেষ্ট পরিমাণ ছবি না নিয়ে বা পুরানো চিত্রগুলি নিয়ে বিশৃঙ্খল জিনিস না দিয়ে আরামদায়কভাবে ফিরে যেতে কেবল পর্যাপ্ত চিত্রগুলি রাখতে পারেন।
ব্যক্তিগতভাবে, আমি যে কোনও সময় আমার উত্পাদন বাক্সে কেবল একটি ধারক রাখি, তবে আপনি আরও চান তবে আপনি ধারকগুলি দিয়ে একই ধরণের জিনিসটি করতে পারেন:
docker rm $(docker ps -aq | tail -n +4)
পরিশেষে, আমার সরল উদাহরণে আমরা কেবলমাত্র একবারে একটি সংগ্রহস্থল নিয়ে কাজ করছি, তবে আপনার যদি আরও কিছু থাকে তবে আপনি একই ধারণাটি নিয়ে আরও খানিক পরিশীলিত হয়ে উঠতে পারেন। বলুন যে আমি কেবলমাত্র_আরপো / কিছু_মাজের থেকে শেষ তিনটি চিত্র রাখতে চাই। আমি শুধু মিশ্রিত করা যাবে grep
এবং awk
আমার পথে:
docker rmi $(docker images -a | grep 'some_repo/some_image' | awk '{print $3}' | tail -n +4)
আবার, একই ধারণাটি ধারকগুলির ক্ষেত্রে প্রযোজ্য, তবে আপনি এটি এটিকে পেয়েছেন তাই আমি উদাহরণ দেওয়া বন্ধ করব।