সমস্ত ডকার স্থানীয় ডকার চিত্রগুলি কীভাবে মুছবেন


264

আমি সম্প্রতি ডকার ব্যবহার শুরু করেছি এবং কখনই বুঝতে পারি না যে এর docker-compose downপরিবর্তে আমার ব্যবহার করা উচিত ctrl-cবা docker-compose stopআমার পরীক্ষাগুলি থেকে মুক্তি পাওয়ার জন্য। আমার কাছে এখন স্থানীয়ভাবে প্রচুর অপ্রয়োজনীয় ডকার চিত্র রয়েছে।

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

এর মতো কিছু - সমস্ত docker rmi --all --forceপতাকা বিদ্যমান নেই তবে আমি অনুরূপ ধারণা সহ কিছু খুঁজছি।



2
docker images purge-> আপনার সমস্ত ডকার চিত্রগুলি মুছে ফেলবে
মুথুকুমার হিলিয়াস

docker image ls -q | xargs -I {} docker image rm -f {}
Xargs

@ মুথুকুমারহেলিয়াস আমার মনে হয় আপনি বোঝাতে চেয়েছেন docker image prune(চিত্রটি একক এবং এটি খাঁটি করার পরিবর্তে ছাঁটাই করা)।
আন্দ্রেস মেজিয়া

উত্তর:


530

এর ভলিউম ব্যবহার সহ সমস্ত ধারক মুছতে,

docker rm -vf $(docker ps -a -q)

সমস্ত চিত্র মুছতে,

docker rmi -f $(docker images -a -q)

মনে রাখবেন, যে সমস্ত চিত্র থেকে এই ধারকগুলি তৈরি করা হয়েছিল সেগুলি সরানোর আগে আপনার সমস্ত পাত্রে অপসারণ করা উচিত।

আপনি যদি উইন্ডোজ (পাওয়ারশেল) এ কাজ করছেন,

$images = docker images -a -q
foreach ($image in $images) { docker image rm $image -f }

7
unknown shorthand flag: 'a' in -a যখন চলমান docker rmi -f $(docker images -a -q)
দৌড়াবেন

25
@ আশুতোষ চামোলি: সিএমডি তে কাজ করে না, পাওয়ারশেলে কাজ করে।
জ্যাক

4
পাওয়ারশেলের জন্য এক-লাইন বৈকল্পিক:docker images -a -q | % { docker image rm $_ -f }
কোডস্টিক্স

4
আমি অবশ্যই এখানে শত শতবার এসেছি। এই উত্তর লেখার জন্য ধন্যবাদ!
অজয় মৈতি

「ডকার আরএমআই-ফ $ (ডকার ইমেজ -a-কি) real সত্যিকারের
বাডাস

176

সবকিছু মুছতে এটি ব্যবহার করুন :

docker system prune -a --volumes

সমস্ত অব্যবহৃত কনটেইনার, ভলিউম, নেটওয়ার্ক এবং চিত্রগুলি সরান

WARNING! This will remove:
    - all stopped containers
    - all networks not used by at least one container
    - all volumes not used by at least one container
    - all images without at least one container associated to them
    - all build cache

https://docs.docker.com/engine/reference/commandline/system_prune/#extended-description


1
তবে, সমস্ত ডিস্কের স্থানটি পুনরায় দাবি করে না।
lucian303

@ lucian303 এই পদ্ধতিটি ডিস্কের স্থান পুনরায় দাবি করে। হতে পারে আপনি কোনও বিশেষ সমস্যার মুখোমুখি হচ্ছেন।
রবার্ট

আমি শুধুমাত্র যখন আমি এই কাজ কাঙ্ক্ষিত ফলাফল পেতে মনে এবং @techtabu এ 'পদক্ষেপ গুলি উত্তর
sir_dancealot

31

সবকিছু পরিষ্কার করার জন্য সবকিছু করুন:

$ docker system prune --all

সবকিছুর অর্থ:

  • সমস্ত পাত্রে বন্ধ
  • কমপক্ষে একটি ধারক দ্বারা ব্যবহৃত সমস্ত নেটওয়ার্ক
  • কমপক্ষে একটি ধারকযুক্ত সমস্ত চিত্র তাদের সাথে যুক্ত
  • সমস্ত ক্যাশে তৈরি

25

docker image prune -a

ঝুঁকির মতো নয়, সমস্ত অব্যবহৃত চিত্রগুলি সরান। -fজোর করার বিকল্প যুক্ত করুন ।

স্থানীয় ডকার সংস্করণ: 17.09.0-ce, গিট কমিট: আফডবি 6 ডি 4, ওএস / আর্ট: ডারউইন / এএমডি 64

$ docker image prune -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker image prune [OPTIONS]

Remove unused images

Options:
  -a, --all             Remove all unused images, not just dangling ones
      --filter filter   Provide filter values (e.g. 'until=<timestamp>')
  -f, --force           Do not prompt for confirmation
      --help            Print usage

7

সহজ এবং সহজ কমান্ড

সমস্ত চিত্র মুছতে

docker rmi $(docker images -a)

প্রস্থান অবস্থায় থাকা পাত্রে মুছতে

docker rm $(docker ps -a -f status=exited -q)

তৈরি অবস্থায় থাকা পাত্রে মুছতে

docker rm $(docker ps -a -f status=created -q)

দ্রষ্টব্য: সমস্ত পাত্রে সরান এবং তারপরে চিত্রগুলি সরান


সমস্ত চিত্র মুছতে, হওয়া উচিত - "ডকার আরএমআই $ (ডকার ইমেজ -a -q)"। -Q কেবল চিত্রের আইডিগুলি ফিরিয়ে দেয়
জিমি এমজি লিম

তার মানে এটি সেই চিত্রগুলি মুছে ফেলেছে। আবারও চেক করুন
গভীর নির্মল

3

সমস্ত চিত্র মুছতে:

docker rmi -f $(docker images -a | awk {'print $3'})

ব্যাখ্যা:

ডকার ইমেজ -এ | awk print 'মুদ্রণ $ 3'}

এই কমান্ডটি সমস্ত চিত্র আইডির প্রত্যাবর্তন করবে এবং তার আইডি ব্যবহার করে চিত্র মুছতে ব্যবহৃত হবে।


3

ডকার ডেকে না মুছুন :

rm -rf /var/lib/docker

আপনি যদি সাধারণত ডকার চালাতে পারেন তবে এটির পরামর্শ দেওয়া হয় না, তবে যে কারণেই আপনি না করতে চান না বা করতে চান না হলে এটি কাজ করবে।


2

আপনি এটির মতো চেষ্টা করতে পারেন:

docker system prune

আমার ক্ষেত্রে এটি এমন একটি ভলিউম সরিয়ে ফেলবে যা আমি এখনও ব্যবহার করি। এটি কী করে তা আপনি যদি না জানেন তবে এটি ব্যবহার করবেন না
জ্যাচ স্মিথ

2

সমস্ত চিত্র মুছতে:

docker rmi $(docker images -a -q)

যেখানে -a সব কিছু, এবং -Q কেবলমাত্র চিত্র আইডির প্রত্যাবর্তন

অব্যবহৃত চিত্র এবং পাত্রে অপসারণ করতে:

docker system prune

সাবধান থাকুন যেন আপনি ডকার জলা ব্যবহার করছেন এবং আপনার লোকাল মেশিন রিমোট সোর্মে (ম্যানেজার / কর্মী হিসাবে) যোগ দিচ্ছে, আপনার লোকাল মোতায়েন করা রেপো হবে। এটি কার্যকরভাবে স্থাপন করা চিত্রগুলি সরিয়ে দেয়।


2
docker rmi $(docker images -q) --force

2
কোনও পোস্টে উত্তর রেখে যাওয়ার সময় আপনার কিছু ব্যাখ্যা যুক্ত করা উচিত, যাতে এটির পরে খুঁজে পাওয়া অন্যরা এটি বুঝতে পারে।
মরফাইশ

1

টেকতাবাবুর গৃহীত উত্তরে যোগ করা, আপনি যদি উইন্ডোতে ডকার ব্যবহার করেন তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন

for /F "delims=" %A in ('docker ps -a -q') do docker rm %A

এখানে, কমান্ডটি docker ps -a -qসমস্ত চিত্রের তালিকাবদ্ধ করে এবং এই তালিকাটি পাস করা হয়েছেdocker rm একের এক হয়

দেখতে এই কিভাবে আদেশ ফর্ম্যাট এই ধরনের উইন্ডোজ কাজ করে cmd আরও বিশদের জন্য।


1

সাথে অন্য একটি উপায় xargs

docker image ls -q | xargs -I {} docker image rm -f {}

0

সমস্ত ডকার স্থানীয় ডকার চিত্র মোছার জন্য ২ টি পদক্ষেপ অনুসরণ করুন:

পদক্ষেপ 1: ডকার চিত্র (আইডিসহ সমস্ত ডকার চিত্রের তালিকা করুন)

     example :
     REPOSITORY    TAG    IMAGE ID            CREATED             SIZE
     pradip564/my  latest 31e522c6cfe4        3 months ago        915MB

পদক্ষেপ 2: ডকার ইমেজ আরএম 31e522c6cfe4 (চিত্র আইডি)

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