নিয়মিত ভিত্তিতে পুরানো ডকার চিত্র সাফ করার জন্য কি কোনও সেরা অনুশীলন এবং / অথবা সরঞ্জাম রয়েছে?


13

ডকার রেজিস্ট্রি থেকে পুরানো চিত্রগুলি মুছে ফেলার ক্ষেত্রে কী কোনও দুর্দান্ত উপায় বা সেরা অনুশীলন রয়েছে?

আমি এখানে প্রচুর অনুরোধ / ইস্যু দেখতে পাচ্ছি: https://github.com/docker/docker-registry/labels/delete , তবে এর জন্য ভাল / জনপ্রিয় সমাধান খুঁজে পাই নি।

সুতরাং, এমন কোনও সরঞ্জাম বা কোনও কৌশল আছে যা আমাকে এটি করতে সহায়তা করবে?

এছাড়াও, এটি করার সময় আপনি যে কোনও সেরা অনুশীলন অনুসরণ করেন?


2
আপনি কীভাবে রেজিস্ট্রি পরিষ্কার করবেন জিজ্ঞাসা করছেন? (আপনি সরবরাহ করেছেন এমন লিঙ্ক এবং প্রশ্নটি কী) তবে স্বীকৃত উত্তরটি রেজিস্ট্রি পরিষ্কার করছে না, তবে আপনার স্থানীয় ডকার পরিষ্কার করছে cleaning
aloreলোরে

উত্তর:


10

স্পটিফাই / ডকার-জিসির সাথে আমার ভাগ্য ভাল । এটি ক্রোন থেকে বা ডকারের ধারক হিসাবে চালানো যেতে পারে।

একটি সাধারণ ডকার ধারক এবং চিত্র আবর্জনা সংগ্রহের স্ক্রিপ্ট।

  • এক ঘন্টারও বেশি সময় আগে থাকা পাত্রে সরিয়ে ফেলা হয়েছে are
  • এরপরে কোনও অবশিষ্ট পাত্রে অন্তর্ভুক্ত নয় এমন চিত্রগুলি সরানো হবে।

2
প্রথম নজরে, মনে হচ্ছে, সমস্ত ব্যাশ স্টাফের পিছনে, কম্বল @ রম্বব এর উত্তর থেকে কম-বেশি ওয়ান-লাইনারগুলির একটি উপসেট। এটি কি সত্য, বা docker-gcআমি যে অনুপস্থিত সেখানে কিছু "বুদ্ধি" রয়েছে ?
AnoE

1
ওপি লিঙ্কগুলি এবং কীভাবে রেজিস্ট্রি থেকে পরিষ্কার করা যায় সে সম্পর্কে একটি প্রশ্ন জিজ্ঞাসা করে, তবে ডকার-জিসি রেজিস্ট্রি থেকে পরিষ্কার করেন না, এটি আপনার স্থানীয় মেশিন থেকে পরিষ্কার করে। আমার ধারণা, ওপি সত্যিই কীভাবে স্থানীয়ভাবে পরিষ্কার করবেন জিজ্ঞাসা করেছিল
ডালোর

ডকার-গিসির পৃষ্ঠা এখন docker system pruneপরিবর্তে ব্যবহার করার পরামর্শ দেয় । তবে কীভাবে ডকারের ছাঁটাই দিয়ে কিছু চিত্র বাদ দেওয়া যায় তা আমি খুঁজে পাইনি। এর সাথে কিছু চিত্র বাদ দেওয়ার উপায় docker system pruneকি?
আলেকজান্ডার আর্তেমেনকো

9

এটিকে সেরা অনুশীলন বলতে পারি না তবে এটি আমরা ক্রোন দ্বারা ট্রিগারযুক্ত ব্যবহার করি, আরও ভাল পরামর্শ দেখে খুশি।

echo "safely removing untagged images"
docker rmi $(docker images | awk '/<none>/{print $3}')

echo "safely removing stopped containers"
docker rm $(docker ps -a -q)

echo "safely removing old containers"
docker ps -a | awk '/weeks ago|months ago|days ago/{print $1}' | xargs --no-run-if-empty docker rm

echo "safely removing old images"
docker images | awk '/weeks ago|months ago|days ago/{print $3}' | xargs --no-run-if-empty docker rmi

echo "safely removing old volumes, custom rebuild of martin/docker-cleanup-volumes image"
docker run -v /var/run/docker.sock:/var/run/docker.sock -v $(readlink -f /var/lib/docker):/var/lib/docker --rm example/docker-cleanup-volumes

echo "native cleanup Docker => 12"
docker system prune -f


1
এডব্লিউ কে উইজার্ডদের খুশি করার জন্য @ টেনসিবাই যে কোনও কিছু :)
রম্ববব ২17

কেবলমাত্র এগুলি কেবল পেডেন্টিক নয়, আপনি প্রক্রিয়াটি স্পন এবং একটি বিশাল গোছের প্রসঙ্গের পরিবর্তনগুলি সংরক্ষণ করুন :) এটি এখানে খুব বেশি কিছু বদলায় না, তবে এর পক্ষে ওকালতি করার যে কোনও অনুষ্ঠানই ভাল :) :)
তেনসিবাাই ২

@ তানসিবাই অবশ্যই স্পষ্টভাবে, ভাল অভ্যাসগুলি সময় সহ বন্ধ করে দেয়, আমাদের সময় এবং অর্থ ব্যয় করে :)
রম্ববব ২

বিশেষত আপনি যখন ইনপুটটির জন্য বিলিয়নে লাইন লগ ফাইলগুলিকে পার্স / ফর্ম্যাট করেন :) এখানে আমি কয়েক ডজন লাইনের বেশি আশা করি না।
তেনসিবাই

4

আমার লোকাল মেশিনে (ম্যাক) আমি একটি ছোট স্ক্রিপ্ট পেয়েছি যে আমি পর্যায়ক্রমে চালিত করি যা সমস্ত অতিরিক্ত চিত্র পরিষ্কার- ডকারের জন্য - ম্যাক.এসএস সাফ করে cle

আমার সার্ভারগুলির জন্য আমি গলিত জল / ডকার-ক্লিনআপ পরিচালনা করি যা পর্যায়ক্রমে বহিরাগত পাত্রে পরিষ্কার করে এবং ব্যবহার করা হয় না এমন চিত্র এবং ভলিউম সরিয়ে দেয়।

আমি কোডমাসনে আমার কাজের জন্য প্রচুর আলাদা ডকার চিত্র ব্যবহার করি যে এর মতো স্ক্রিপ্টগুলি আমার জন্য প্রয়োজনীয়। উপভোগ করুন!


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