কীভাবে সমস্ত ডকার ভলিউম সরিয়ে ফেলবেন?


94

আমি যদি এটি করি তবে docker volume lsআমার খণ্ডগুলির তালিকাটি এরকম:

DRIVER              VOLUME NAME
local               305eda2bfd9618266093921031e6e341cf3811f2ad2b75dd7af5376d037a566a
local               226197f60c92df08a7a5643f5e94b37947c56bdd4b532d4ee10d4cf21b27b319
...
...
local               209efa69f1679224ab6b2e7dc0d9ec204e3628a1635fa3410c44a4af3056c301

এবং আমি একবারে আমার সমস্ত খণ্ড মুছে ফেলতে চাই। আমি এটা কিভাবে করবো?

উত্তর:


194

সমস্ত অব্যবহৃত ডেটা (পাত্রে না করে ভলিউম সহ) অপসারণের সরকারী কমান্ডটি ডকার 1.13 এর সাথে থাকবে

docker system prune  

আপনি যদি কেবল অব্যবহৃত ভলিউমগুলি সরিয়ে একা ভলিউমে সীমাবদ্ধ রাখতে চান :

docker volume prune

এছাড়াও আপনি আছে docker image prune, docker container pruneইত্যাদি:
দেখুন এ "আরো খেজুর অব্যবহৃত Docker বস্তু "।

দেখুন কমিট 86de7c0 এবং জনসংযোগ 26108

আপনি এটি খেলতে - ডকার ডটকম-এ দেখতে পাবেন :

/ # docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
1296a5e47ef3        hello-world         "/hello"            7 seconds ago       Exited (0) 6 seconds ago                       prickly_poincare

/ # docker system  prune
WARNING! This will remove:
        - all stopped containers
        - all volumes not used by at least one container
        - all networks not used by at least one container
        - all dangling images
Are you sure you want to continue? [y/N] y
Deleted Containers:
1296a5e47ef3ab021458c92ad711ad03c7f19dc52f0e353f56f062201aa03a35

ভলিউম পরিচালনার বর্তমান (প্রাক ডকার 1.13) উপায়টি পিআর 14242 এবং docker volumeকমান্ডের সাথে চালু হয়েছিল , যা জুলাই ২০১৫ থেকে তার মন্তব্যে দলিল করে :

docker volume rm $(docker volume ls -q --filter dangling=true)

এটি দুর্দান্ত, ধন্যবাদ। আমি নতুন pruneকমান্ড সম্পর্কে জানতাম না ।
গাছের পৃষ্ঠ

4
প্রুন কমান্ডগুলি দুর্দান্ত তবে তাদের সাথে সাবধানতা অবলম্বন করুন। দেখে মনে হচ্ছে যে তারা ধরে নিয়েছে যে আপনি যখন ফোন করেছেন তখনই ধারকগুলি চলছে। এটি এমন জিনিসগুলি মুছে ফেলবে যা সম্পর্কিত হতে পারে তবে সক্রিয়ভাবে ব্যবহারে নেই (যেমন নেটওয়ার্ক) পরের বার বিদ্যমান পাত্রে শুরু হওয়ার পরে ব্যর্থতা ডেকে আনে। dangling
ছাঁটাই

docker system pruneস্থানীয় ভলিউমগুলি সরিয়ে ফেলবে বলে মনে হয় না তবে docker volume pruneএটি
সাজিয়ে তোলে

23

2017-এ সম্পাদিত: এই উত্তর 16 এপ্রিল 16'16 এ দেওয়া হয়েছিল এবং এখন পুরানো হয়েছে, এবং কেবলমাত্র 1.13 এর আগে ডকার সংস্করণের জন্য সঠিক দয়া করে @ ভনসির উত্তরটি ব্যবহার করুন, এখন এটি সঠিক হিসাবে চিহ্নিত হয়েছে

অব্যবহৃত ভলিউম মুছতে আপনি বিল্ট-ইন ডকার volume rmকমান্ডটি ব্যবহার করতে পারেন । rmকমান্ড এছাড়াও মুছে ফেলে যে কোন ডিরেক্টরি /var/lib/docker/volumesকরে একটি ভলিউম নন, সুতরাং নিশ্চিত আপনি কিছু রাখা হয়নি সেখানে তোমাকে রক্ষা করতে চাই:
তালিকা ভলিউম, পুলিশের চেয়ে সামান্য বিট ডানদিকে COMMAND:

$ docker volume ls -qf dangling=true

পরিষ্কার কর:

$ docker volume rm $(docker volume ls -qf dangling=true)

ম সম্পর্কে আরো বিস্তারিত এখানে , RM সম্পর্কে এখানে


4
আমি --dry-runপ্রথমে প্যারামিটারের সাথে ডাংলিংয়ের খণ্ডগুলির তালিকা পরীক্ষা না করে এটি চালাব না ।
সের্গেই রদিওনোভ

সেখানে নেই --dry-runবিকল্প।
হ্যারাল্ড অ্যালবার্স

4
আপনি যদি কিছু না খেয়ে সমস্ত খণ্ড মুছতে চান তবে এই উত্তরটি হ'ল। ধন্যবাদ!
মাচাহিত ইলমাজ

5

এটিই আমি কার্যকর বলে মনে করেছি: https://github.com/chadoe/docker-cleanup-volume

/ Var / lib / ডকার / ভলিউম এবং / var / lib / ডকার / ভিএফএস / দির ডকার সংস্করণ 1.4.1 পর্যন্ত 1.11.x পর্যন্ত অনাথ ডকার ভলিউম মুছতে শেলসক্রিপ্ট

এটি মূলত কোনও অনাথ / জঞ্জাল ভলিউমের একটি --dry-runসাফাই দেয় তবে এতে একটি অন্তর্ভুক্ত থাকে তবে এটি কিছু ডকার অন্তর্ভুক্ত কমান্ডও নোট করে (যা পূর্ববর্তী মন্তব্যে উল্লেখ করা হয়)

ডকার ১.৯ এবং তার বেশি সম্পর্কে নোট

ডকার ১.৯-এ অনাথ ভলিউম মুছতে এবং আপনি এই ডকার-ক্লিনআপ-ভলিউমের স্ক্রিপ্টের পরিবর্তে বিল্ট-ইন ডকার ভলিউম কমান্ডও ব্যবহার করতে পারেন। বিল্ট-ইন কমান্ডটি / var / lib / ডকার / ভলিউমের কোনও ডিরেক্টরি মুছে ফেলবে যা ভলিউম নয় তাই নিশ্চিত করুন যে আপনি সেখানে সংরক্ষণ করতে চান সেখানে কিছুই রাখেননি:

তালিকা:

$ docker volume ls -qf dangling=true

পরিষ্কার কর:

$ docker volume rm $(docker volume ls -qf dangling=true)

অথবা, কোনও অপ-এর চেয়ে ভাল পরিচালনা করা তবে লিনাক্স নির্দিষ্ট:

$ docker volume ls -qf dangling=true | xargs -r docker volume rm

3

প্রশ্নের উত্তর এবং মার্কের কাছ থেকে Toণ নেওয়ার জন্য, এটি কাজ করে:

$ docker volume rm $(docker volume ls -qf dangling=true | xargs)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.