ডকার <নন> TAG চিত্রগুলি সরান


138
root@server:~# docker images -a        
REPOSITORY              TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>                  <none>              5e2dfc857e73        5 days ago          261.6 MB
<none>                  <none>              d053e988f23d        5 days ago          261.6 MB
<none>                  <none>              1d5d4a2d89eb        5 days ago          261.6 MB
<none>                  <none>              ea0d189fdb19        5 days ago          100.5 MB
<none>                  <none>              26c6175962b3        5 days ago          100.5 MB
<none>                  <none>              73d5cec4a0b3        5 days ago          100.5 MB
<none>                  <none>              e19590e1bac1        5 days ago          100.5 MB

আমি নিম্নলিখিত চেষ্টা করেছি:

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

এবং নিম্নলিখিত:

docker rmi $(docker images -f "dangling=true" -q)

নিম্নলিখিত ত্রুটি পান:

docker: "rmi" requires a minimum of 1 argument.
See 'docker rmi --help'.

Usage:  docker rmi [OPTIONS] IMAGE [IMAGE...]

Remove one or more images

এটি কিছুটা দেরি হলেও অন্যান্য ব্যবহারকারীদের জন্য আমার এই মন্তব্যটি যুক্ত করতে হবে। আপনি যদি উইন্ডোজ কমান্ড প্রম্পট ব্যবহার করেন তবে এটি কার্যকর হবে না। কারণ কমান্ড প্রম্পট অভ্যন্তরীণ ফাংশন সমর্থন করে না। উইন্ডোজ পাওয়ারশেলের সাথে সঠিক লাইনগুলি ব্যবহার করে দেখুন
এর-হান

1
docker rmi $(docker images -a | grep "^<none>" | awk '{print $3}')
ওন্দ্রা Žižka

docker rmi $(docker images | grep "<none>" | awk "{print $3}")
ডেভিড

5
docker rmi $(docker images -f dangling=true -q)
জিন্না বালু

@ কার্ল মরিসন: আপনি প্রায় সেখানে ছিলেন: খালি মিস করেছেন - (সমস্ত) ইন docker images:)
মিরেকএফডি

উত্তর:


200

আপনি চেষ্টা করতে পারেন এবং কেবল অবিরত চিত্রগুলি (কোনও লেবেলবিহীন, বা কোনও ট্যাগবিহীন লেবেলযুক্ত) তালিকাবদ্ধ করতে পারেন:

docker images -q -a | xargs docker inspect --format='{{.Id}}{{range $rt := .RepoTags}} {{$rt}} {{end}}'|grep -v ':'

যাইহোক, এই অবরুদ্ধ চিত্রগুলির কিছু অন্যের প্রয়োজন হতে পারে।

আমি কেবল ঝোলা ছবিগুলি অপসারণ করতে পছন্দ করি :

docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

যেমন আমি ডক্কারের জন্য ১.১৩+ এর জন্য সেপ্টেম্বর, ২০১ in সালে "" পুরানো এবং অব্যবহৃত ডকার চিত্রগুলি কীভাবে সরিয়ে ফেলতে পারি "তে উল্লেখ করেছি, আপনি image pruneকমান্ডটিও করতে পারেন :

docker image prune

বলা হচ্ছে, জনক বান্দারা মন্তব্যে উল্লেখ করেছেন :

এটা করেছে না অপসারণ <none>আমাকে (যেমন জন্য -tagged ইমেজ foo/bar:<none>); আমাকে ব্যবহার করতে হয়েছিল docker images --digestsএবংdocker rmi foo/bar@<digest>

জনাকা পল ভি নোভারেসের " একটি ট্যাগ সহ স্বাক্ষরিত চিত্রটি কীভাবে সরান " উল্লেখ করে :

# docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
pvnovarese/mprime        latest              459769dbc7a1        5 days ago          4.461 MB
pvnovarese/mprime        <none>              459769dbc7a1        5 days ago          4.461 MB

ডায়াগনস্টিক পদক্ষেপ

আপনি যদি --digests=trueবিকল্পটি ব্যবহার করেন তবে এই দুটি এন্ট্রিগুলির মধ্যে পার্থক্যটি দেখতে পাবেন (অবিচলিত এন্ট্রিটিতে ডকার কনটেন্ট ট্রাস্টের স্বাক্ষর ডাইজেস্ট রয়েছে):

# docker images --digests=true
REPOSITORY               TAG                 DIGEST                                                                    IMAGE ID            CREATED             SIZE
pvnovarese/mprime        latest              <none>                                                                    459769dbc7a1        5 days ago          4.461 MB
pvnovarese/mprime        <none>              sha256:0b315a681a6b9f14f93ab34f3c744fd547bda30a03b55263d93861671fa33b00   459769dbc7a1        5 days ago     

নোট করুন যে পল 18892 এর ভিড়ের বিষয়টিও উল্লেখ করেছেন :

স্বাক্ষরিত ছবিটি টানার পরে, <none>" docker images" আউটপুটটিতে একটি "অতিরিক্ত" প্রবেশ (ট্যাগ সহ ) রয়েছে ।
এটি rmiচিত্রকে অসুবিধা দেয় (আপনাকে এটিকে জোর করতে হবে, অন্যথায় প্রথমে সঠিকভাবে ট্যাগ হওয়া এন্ট্রি মুছুন বা ডাইজেস্ট দ্বারা মুছুন।


5
এটি <none>আমার জন্য উদাহরণস্বরূপ চিত্রগুলি সরান নি (উদাঃ foo/bar:<none>); আমাকে ব্যবহার করতে হয়েছিল docker images --digestsএবং সাফল্যdocker rmi foo/bar@<digest> হিসাবে বর্ণনা করা হয়েছে d
ডকর্মার /

1
@ জনাকাবন্দরা আপনাকে ধন্যবাদ আমি উত্তরে আপনার মন্তব্যটি অন্তর্ভুক্ত করেছি (কিছু অতিরিক্ত লিঙ্ক সহ)
ভোনসি

আমার জন্যsudo docker rmi $(docker images --filter "dangling=true" -q --no-trunc) Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.35/images/json?filters=%7B%22dangling%22%3A%7B%22true%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied "docker rmi" requires at least 1 argument. See 'docker rmi --help'. Usage: docker rmi [OPTIONS] IMAGE [IMAGE...] [flags] Remove one or more images
জেমি হুটার

@ জামিহট্টার "ডকার আরএমআই" এর জন্য কমপক্ষে 1 টি যুক্তি প্রয়োজন। এটি ডকার ইমেজগুলির পরামর্শ দেয় - ফিল্টার "ড্যাংলিং = ট্রু" -কি - কোন-ট্রাঙ্ক কিছুই দেয় না, মানে কোনও ঝোলা ইমেজ নেই?
ভনসি

ধন্যবাদ ভনসি আসলে তা হয় নাhutber@hutber-blade /var/www/dockerfile-wizard $ sudo docker images --filter "dangling=true" -q --no-trunc sha256:c58f4e4b10b1f862d78f96e90bdf13ffe37993279d0992be46d5c15dad51421e sha256:db28e821bc3f337caf711a664bc529be5db8894dd73c5b013ad814cc1e9fc21b sha256:257936750a7d43ae77c713c2cb18342be935de7d3b8fad23d6664fc64acfe753 sha256:6b815cefeb527885b2b9dd831f7f40b05942f00d1367274833a6274154d8ce43
জেমি হুটার

42
docker images | grep none | awk '{ print $3; }' | xargs docker rmi

আপনি এটি সহজভাবে চেষ্টা করতে পারেন


1
আমার জন্য দ্রুততম এবং সহজ সমাধান
চিহ্নিত করুন

যোগ আছে --forceশেষে। কমান্ডটি দেখতে হবে docker images | grep none | awk '{ print $3; }' | xargs docker rmi --force
মুনিম দিবোষ

22

ডকার চিত্রের ছাঁটাই সমস্ত ঝাঁকুনির চিত্রগুলি সরিয়ে দেয় (যাদের ট্যাগ নেই তারা)। ডকার ইমেজ ছাঁটাই -a এমন কোনও চিত্র মুছে ফেলবে যা ব্যবহার করে এমন কোনও ধারক নেই।

এই স্ট্যাকওভারফ্লো থ্রেডে ঝোলা এবং অব্যবহৃত চিত্রগুলির মধ্যে পার্থক্যটি ব্যাখ্যা করা হয়েছে ।


6

আপনি যেতে পারেন docker rmi $(docker images -f "dangling=true" -q)। দেখুন ইমেজ ডকুমেন্টেশন আরো বিকল্পের জন্য।

$ docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
<none>                      <none>              94870cda569b        4 seconds ago       673MB
python                      2.7                 320a06f42b5f        10 days ago         673MB
mysql                       latest              e799c7f9ae9c        2 months ago        407MB
gcavalcante8808/semaphore   latest              86e863e11461        2 months ago        537MB
redis                       latest              e32ef7250bc1        2 months ago        184MB
rabbitmq                    3.6.9-management    7e69e14cc496        2 months ago        179MB
rabbitmq                    3.6.9               eb2e4968538a        2 months ago        179MB
jordan/rundeck              latest              6d40b57b1572        2 months ago        660MB
rabbitmq                    3.5.6-management    dbfe8d18809a        19 months ago       304MB

$ docker rmi $(docker images --format '{{.ID}}' --filter=dangling=true)
Deleted: sha256:94870cda569b8cf5f42be25af107d464c993b4502a1472c1679bf2d213b6c0a6

5

ডকার ডকুমেন্টেশন অনুসারে আপনি কেবল অচিভযুক্ত (ঝুঁকিপূর্ণ) চিত্রগুলি তালিকাভুক্ত করতে পারেন

$ docker images -f "dangling=true"

এবং তাদেরকে এই জাতীয় docker rmiআদেশে পুনর্নির্দেশ করুন :

$ docker rmi $(docker images -f "dangling=true" -q) --force

লক্ষ্য করুন -qপ্যারাম thats কেবলমাত্র ধারকগুলির সংখ্যামূলক আইডি দেখায়।


1
2015 সালে আমার উত্তরে আমি যে প্রস্তাব দিয়েছিলাম তার সাথে কি এটি মিল নয় ?
ভোনসি

5

ফিল্টার 'ড্যাংলিং' আর কাজ করছে না তা আপনি পরীক্ষা করতে পারেন

$ docker images -f “dangling=true” -q
Error response from daemon: Invalid filter 'dangling'

ঝোলাযুক্ত চিত্রগুলি সরাতে ডকার সিস্টেমের ছাঁটা ব্যবহার করুন

$ docker system prune
WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all dangling build cache
Are you sure you want to continue? [y/N]

আপনি --forceনিশ্চিতকরণের জন্য প্রম্পট না জন্য ব্যবহার করতে পারেন

$ docker system prune --force

4

আমি docker image prune -fসবচেয়ে দরকারী খুঁজে পেয়েছি এবং আমি আমার দিনের বেলা কাজের সময় সর্বদা এটি ব্যবহার করি, ট্যাগ ব্যবহার করে -fনিশ্চিতকরণের অনুরোধ জানানো হবে না। আরও বিশদ এখানে



3

noneনিম্নলিখিত ব্যবহার করে সংগ্রহস্থলের নাম হিসাবে থাকা চিত্রগুলি সরান :

docker rmi $(docker images | grep "^<none" | awk '{print $3}')

noneট্যাগ বা ভান্ডার নাম আছে এমন চিত্রগুলি সরান :

docker rmi $(docker images | grep "none" | awk '{print $3}')


2

docker system prune কৌতুক করবে, এটি সরিয়ে দেয়

- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache

তবে সাবধানতার সাথে এটি ব্যবহার করুন!


2

আমাদের সাথে সমস্ত চিত্র সরাতে noneনিশ্চিত হতে হবে যে আমরা যে সমস্ত থামানো পাত্রে তারা রান ব্যবহার করতে পারি তা সরিয়ে দিয়েছি:

docker rm $(docker ps -a -q)

তারপরে আমরা সমস্ত চিত্র মুছে ফেলতে পারি:

docker image prune


1

নীচের কমান্ডটি আমার পক্ষে কাজ করছে। এটি কেবল সাধারণ গ্রেপ ইমেজ এবং ডকার ইমেজ আইডি পেয়ে সমস্ত চিত্র সরিয়ে ফেলে। এটি হিসাবে সহজ একক কমান্ড।

docker rmi $(docker images |grep "<none>"| awk '{print $3}')


1

এটি তানসাদিওর উত্তরের একটি বর্ধন:

আপনি যদি নিম্নলিখিত ত্রুটি পেয়ে থাকেন:

Error response from daemon: conflict: unable to delete <> (must be forced) - image is being used by stopped container <>

আপনি এটি দিয়ে জোর করতে পারেন --force:

docker images | grep none | awk '{ print $3; }' | xargs docker rmi --force

1

নিম্নলিখিত সমস্ত <none>চিত্র সরিয়ে ফেলবে

docker rmi $(docker images | grep none | awk '{print $3}')

যদিও আমি এটি করার প্রস্তাব দিই না docker rmiআপনি এতে পরিবর্তন করে সরিয়ে দিতে বাধ্য করতে পারেন docker rmi -f

কিছু <none>চিত্র অন্য চিত্রের সাথে সম্পর্কিত হতে পারে তাই নিরাপদ পাশে থাকতে -fট্যাগ ব্যবহার করবেন না ।


0

এটি সহজ এবং স্পষ্ট,

এমনকি আমি এই সাধারণ এবং খাস্তা ত্রুটি বুঝতে 3 দিন সময় নিয়েছি।

ডকার চিত্রটি সফলভাবে নির্মিত হয়নি

Step 7/13 : COPY jupyter_notebook_config.py /root/.jupyter/
 ---> bf29ce6fe6dc
Step 8/13 : COPY notebooks /notebooks
COPY failed: stat /var/lib/docker/tmp/docker-builder776981166/notebooks: no such file or directory
anarchist@anarchist-desktop:~/Documents/sam/dockerDem$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              bf29ce6fe6dc        9 seconds ago       1.27GB
ubuntu              16.04               a51debf7e1eb        3 weeks ago         116MB

তারপরে আমি ডকফাইফাইল থেকে 8 তম লাইনটি সরিয়েছি, এটি এবার সফলতার সংকেত।

Successfully built b6724370f8ca
Successfully tagged dem:expo
anarchist@anarchist-desktop:~/Documents/sam/dockerDem$ docker run -it -p 8888:8888 dem:expo
[I 06:11:38.984 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[I 06:11:39.011 NotebookApp] Serving notebooks from local directory: /
[I 06:11:39.011 NotebookApp] The Jupyter Notebook is running at:
[I 06:11:39.011 NotebookApp] http://(296d81166725 or 127.0.0.1):8888/?token=496feb282ef749c05277ef57a51e8a56fedb1c6b337b9f92

এটি সফলভাবে ট্যাগড ডেম: এক্সপো বলেছে, ডকার প্রক্রিয়া চলাকালীন এই লাইনটি ইমপ হয়।


0

ডকার আরএমআই-ফ $ (ডকারের চিত্র -a | awk 'এনআর> 1 && $ 2 == "" {মুদ্রণ $ 3}')


0

সব

উইন্ডোজ প্রেমীদের জন্য পাওয়ারশেল কমান্ড ভাগ করে নেওয়া (কেবলমাত্র আপনার কাছে ব্যাশ, গ্রেপ বা অ্যাডক না থাকলে)

(docker images) -like '*<none>*' | ForEach-Object { 
  $imageid=($_ -split "\s+")[2]
  docker rmi -f $imageid
}


0

সমস্ত প্রস্থানিত পাত্রে সরান

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

বা প্যাটার্ন অনুসারে পাত্রে সরান

docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

0

ট্যাগ সহ তালিকা ডকার ইমেজ আইডি দেখতে এটি চেষ্টা করুন <none>

docker images -a | awk '/^<none>/ {print $3}'

এবং তারপরে আপনি ট্যাগ সহ সমস্ত চিত্র মুছতে পারেন <none>। এটি আমার জন্য কাজ করেছে।

docker rmi $(docker images -a | awk '/^<none>/ {print $3}')


-1

চেষ্টা

docker rmi -f $(docker images -a | awk 'NR> 1 || $2 = "<none>" {print $3}') ক্লিনার কমান্ড থাকতে পারে

আপডেট করা হয়েছে


1
যে হবে এছাড়াও ইমেজ যা <কেউই> যা একটি বড় Nono হয় বাঁধা নেই মুছে ফেলুন।
কে - এসও-তে বিষক্রিয়া বাড়ছে।

আমি আমার উত্তরটি upated করেছি
user2915097

কমান্ড docker rmi -f $(docker images -a | awk 'NR> 1 || $2 = "" {print $3}কিছু করে না!
কে - এসও-তে বিষক্রিয়া বাড়ছে।


-2

ঝোলা ছবিগুলি পূর্ববর্তী বিল্ডগুলি এবং টানার ভূত, কেবল এগুলি মুছুন: ডকার আরএমআই $ (ডকার ইমেজ -f "ডাংলিং = সত্য" -কিউ)


ওপিতে বলা হয়েছে যে তিনি ইতিমধ্যে এই সঠিক কমান্ডটি চেষ্টা করেছিলেন তবে এটি ব্যর্থ হয়েছিল। এছাড়াও, ইতিমধ্যে কমপক্ষে দু'বার এই উত্তর দেওয়া হয়েছে।
কেয়ারিংদেভ

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

নিম্নলিখিত ইমেজ ব্যবহার করা হয় যেখানে স্থিত। আমি মনে করি এই আদেশটি অযাচিত চিত্রগুলি থেকে মুক্তি পেয়েছে।


2
এটি কি সমস্ত চিত্র সরিয়ে দেয় না?
মেরিয়ানোবিয়ানচি

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