নির্ভরশীল শিশু চিত্র সহ ডকার চিত্র মুছতে পারে না


162

আমি চেষ্টা করছি

docker rmi c565603bc87f

ত্রুটি:

ডিমন থেকে ত্রুটির প্রতিক্রিয়া: বিরোধ: c565603bc87f মুছে ফেলতে অক্ষম (জোর করা যায় না) - চিত্রটির উপর নির্ভরশীল সন্তানের চিত্র রয়েছে

সুতরাং আমি -f পতাকা সহ চিত্রটিও মুছতে পারি না। তখন কীভাবে চিত্রটি এবং তার সমস্ত শিশু মুছবেন?

লিনাক্স এবং ডকার সংস্করণ:

আনামে-লিনাক্স গুরসিও-পিসি 4.4.0-24-জেনেরিক # 43-উবুন্টু এসএমপি বুধ 8 জুন 19:27:37 ইউটিসি 2016 x86_64 x86_64 x86_64 জিএনইউ / লিনাক্স

ডকার সংস্করণ ক্লায়েন্ট: সংস্করণ: 1.11.2 এপিআই সংস্করণ: 1.23 গো সংস্করণ: go1.5.4 গিট কমিট: b9f10c9 বিল্ট: বুধ জুন 1 22:00:43 2016 ওএস / আর্চ: লিনাক্স / এমডি 64

সার্ভার: সংস্করণ: 1.11.2 এপিআই সংস্করণ: 1.23 গো সংস্করণ: go1.5.4 গিট কমিট: b9f10c9 বিল্ট: বুধ জুন 1 22:00:43 2016 ওএস / আর্ট: লিনাক্স / এমডি 64



2
সর্বাধিক পুরানো থেকে ট্যাগ দ্বারা মুছুন। যদি তারা কোনও রেপোতে থাকে, তবে কোনও ডকফেরাইলে তাদের প্রয়োজন হলে তারা টানা হবে।
রাফায়েলবাট্টেস্তি

আপনার অবশ্যই
এনগুইন

উত্তর:


119

ছবিটি সরানোর আগে আপনার অপ্রয়োজনীয় চিত্রগুলি সরিয়ে ফেলার চেষ্টা করা উচিত:

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

এর পরে, চালান:

docker rmi c565603bc87f

12
কোনও ঝাঁকুনির চিত্র নেই ... ডকারের চিত্রগুলি - ড্যাংলিং = সত্য -> কিছুই নয়
রোমান

38
এই উত্তরটি একটি পৃথক প্রশ্নের উত্তর দিচ্ছে "আমি কীভাবে ঝাঁকুনির চিত্রগুলি মুছব?" ওপির প্রশ্নটি "আমি কীভাবে নির্ভরশীল চিত্রগুলি সরিয়ে দেব?"
ইনস্টল করুন মনিকা-ডোর ডু

6
চিত্র আনত মুছে ফেলার জন্য, শুধু ব্যবহারprune
Deqing

17
এই আদেশটি আর কাজ করে না:> "docker rmi" requires at least 1 argument.
সামায়ো

2
@samayo যদি আপনি যে ভুল পান, এর ফিল্টার অংশ পরিবর্তন চেষ্টা করুন: --filter=dangling=true। আপনি যদি এখনও ত্রুটিটি পান তবে এর অর্থ হ'ল আপনার কোনও ঝোলা চিত্র নেই এবং যাতে ইন-সেট কমান্ডটি খালি স্ট্রিংয়ের মূল্যায়ন করে।
হামারএন'সংস

100

কিছু ক্ষেত্রে (আমার ক্ষেত্রে যেমন আপনি) ইমেজ আইডি নির্দিষ্ট করে একটি চিত্র মুছে ফেলার চেষ্টা করতে পারেন যা আপনি উপলব্ধ নন যে একাধিক ট্যাগ রয়েছে, যার মধ্যে কিছু অন্যান্য চিত্র ব্যবহার করতে পারে। কোন ক্ষেত্রে, আপনি চিত্রটি সরাতে চাইবেন না

আপনি এখানে অপ্রয়োজনীয় ট্যাগগুলির বিবরণ অনুসারে যদি অপ্রয়োজনীয় ট্যাগ অপসারণ করতে চান তবে docker rmi <image_id>ব্যবহারের পরিবর্তে docker rmi <repo:tag>


11
docker rmi <repo:tag>আমার জন্য কাজ করেছেন those এই উত্তরগুলির মধ্যে আপনার সমাধানটি বেশ সহজ, আপনাকে ধন্যবাদ।
শিহে ঝাং

দূরবর্তী পুরানো গোলং চিত্রগুলিতে আমার মামলার ক্ষেত্রে এটি করার সহজ উপায়টি হ'ল
মন্দির

ধন্যবাদ এটি আমার জন্য টিকিট ছিল। Untagged: drud/ddev-webserver:20200301_leymannx_apache-junk-built
rfay

যদি কেউ মাইক্রোসফ্টের eShopOnContainers নমুনাগুলি ইনস্টল করে থাকে তবে আপনাকে একেবারে একে একে অপসারণ করতে repo:tagহবে কারণ এটি আটটি ট্যাগযুক্ত চিত্র তৈরি করে যা কেবল দুটি চিত্রের আইডি ভাগ করে। এমনকি ভিজ্যুয়াল স্টুডিওগুলি তাদের ধারক পরিচালন উইন্ডোতে তাদের মুছবে না ...
এমডিসিবিও

কমান্ডটি docker rmi <repo:tag>কেবল অট্যাগ করেই , এটি অগত্যা কোনও চিত্র মুছবে না। এই চিত্রটি উল্লেখ করে যদি একাধিক ট্যাগ থাকে বা অন্য কোনও সমস্যা যেমন যেমন ওপি দ্বারা বর্ণিত একটি হয় তবে চিত্রটি এখনও সেখানে থাকবে still আপনি যে চিত্রটি কমান্ড সহ এখনও বিদ্যমান তা পরীক্ষা করতে পারেন docker images ls --all
twan163

49

পূর্ববর্তী সমস্ত উত্তর সঠিক তবে এখানে একটি সমাধান যা কেবলমাত্র আপনার সমস্ত চিত্রগুলি জোর করে মুছে ফেলছে ( এই কমান্ডটি নিজের ঝুঁকিতে ব্যবহার করুন এটি আপনার সমস্ত চিত্র মুছে ফেলবে )

docker rmi $(docker images -q) -f

এখানে চিত্র বর্ণনা লিখুন


1
এটি আমার পক্ষে কাজ করেছিল; আমি আমার সমস্ত স্থানীয় চিত্র সরিয়ে ফেলতে চেয়েছিলাম। দ্রষ্টব্য, আমার ডকার সংস্করণ (18.09.7) এর সাথে কাজ করার জন্য আমাকে আপডেট করতে হয়েছিল: docker image rm $(docker image ls -a -q) -f
akagixxer

40

নিম্নলিখিতটি নিয়ে প্রশ্নে ইমেজের পরে তৈরি সমস্ত চিত্রের জন্য চিত্র আইডি এবং প্যারেন্ট আইডি সন্ধান করুন:

docker inspect --format='{{.Id}} {{.Parent}}' $(docker images --filter since=<image_id> -q)

তারপরে আপনি আদেশটি কল করুন:

docker rmi {sub_image_id} 

"sub_image_id" নির্ভরশীল চিত্রের আইডি


নির্দিষ্ট চিত্রের মধ্যবর্তী চিত্রগুলি মুছতে খুব ভাল। ধন্যবাদ !!
এ.ভিলাগাস

অজানা পতাকা
সামুরাই জ্যাক

এটাই মনে হয় প্রশ্নের আসল সমাধান!
পাওলো

28

আমার কাছে যা কাজ হয়েছিল তা হ'ল প্রতিস্থাপনটি: চিত্র আইডির পরিবর্তে TAG সংমিশ্রণটি ব্যবহার করা।

আমি যখন docker rmi <IMAGE ID>এই চিত্রের সাথে কোনও ধারক যুক্ত কোনও কমান্ড সহ ডকার চিত্রটি মুছে ফেলার চেষ্টা করেছি তখন আমার বার্তাটি ছিল:

$ docker rmi 3f66bec2c6bf
Error response from daemon: conflict: unable to delete 3f66bec2c6bf (cannot be forced) - image has dependent child images

আমি কমান্ডটি ব্যবহার করার সময় সাফল্যের সাথে মুছতে পারি docker rmi RPOSITORY:TAG

$ docker rmi ubuntu:18.04v1
Untagged: ubuntu:18.04v1

প্রকৃতপক্ষে. কোন ব্যাখ্যা কেন এই অদ্ভুত আচরণ?
রডরিগোম

1
এটি আমার পক্ষেও কাজ করেছিল। আমার ক্ষেত্রে আমার ওউবুন্টু চিত্রটি ছিল একটি পুরানো parent docker rmi 93fd78260bd1ব্যর্থ, কিন্তু তারপর docker tag 93fd78260bd1 ubuntu:temp && docker rmi ubuntu:tempসফল ছিল।
থমাস লবকার

আমার জন্য কাজ, একটি পুরানো ইমেজ আপডেট করা ছিল। কেউ জানেন কেন এটি ডাব্লু আইডি ব্যর্থ হয়?
স্ট্রাইডার

3
এটি চিত্রটি সত্যিই মুছে দেয় না। এটি কেবলমাত্র সেই চিত্রটির জন্য একটি সদৃশ ট্যাগ সরিয়ে দেয় (সুতরাং বার্তাটি Untagged: ubuntu:18.04v1)। আপনি যদি তা করেন তবে আপনি docker images -aসম্ভবত 3f66bec2c6bfতালিকাবদ্ধ দেখতে পাবেন । চিত্রটি যদি সত্যিই মুছে ফেলা হয় তবে আপনি বার্তাটি পাবেনDeleted: 3f66bec2c6bf
উইসবাকী

17

এই আদেশটি সমস্ত চিত্র সরিয়ে দেয় (সতর্কতার সাথে ব্যবহার করুন)

আপনি - বল ব্যবহার করার চেষ্টা করেছেন?

sudo docker rmi $(sudo docker images -aq) --force

এই উপরের কোডটি দৃষ্টিনন্দন মতো চালানো হয়েছে এমনকি আমারও একই সমস্যা ছিল


1
আমি উভয় জায়গায় সুডো ছেড়েছি এবং এটি আমার পক্ষে দুর্দান্ত কাজ করেছে
ইউজার 21217751

7

এখানে উত্তরটি হ'ল সমস্ত বংশধর শিশুদের সন্ধান করা, যার একটি উত্তর এখানে রয়েছে:

ডকার কীভাবে নির্ভরশীল শিশু চিত্রগুলির তালিকা পেতে পারি?

তারপরে যাতে শিশুদের চিত্রগুলি ক্রম থেকে সরিয়ে ফেলা হয় তা ব্যবহার করুন।


9
আপনি কি এই স্ক্রিপ্টটিকে এখনও বাইরে রেখেছেন?
টিটি।

1
আমি এগিয়ে গিয়েছিলাম এবং নীচে আমার স্ক্রিপ্ট এ তাড়িত।
সীমাবদ্ধ প্রায়শ্চিত্ত

6

এখানে একটি চিত্র এবং এর উপর নির্ভরশীল সমস্ত চিত্র মুছে ফেলার জন্য এখানে একটি স্ক্রিপ্ট রয়েছে।

#!/bin/bash

if [[ $# -lt 1 ]]; then
    echo must supply image to remove;
    exit 1;
fi;

get_image_children ()
{
    ret=()
    for i in $(docker image ls -a --no-trunc -q); do
        #>&2 echo processing image "$i";
        #>&2 echo parent is $(docker image inspect --format '{{.Parent}}' "$i")
        if [[ "$(docker image inspect --format '{{.Parent}}' "$i")" == "$1" ]]; then
            ret+=("$i");
        fi;
    done;
    echo "${ret[@]}";
}

realid=$(docker image inspect --format '{{.Id}}' "$1")
if [[ -z "$realid" ]]; then
    echo "$1 is not a valid image.";
    exit 2;
fi;
images_to_remove=("$realid");
images_to_process=("$realid");
while [[ "${#images_to_process[@]}" -gt 0 ]]; do
    children_to_process=();
    for i in "${!images_to_process[@]}"; do
        children=$(get_image_children "${images_to_process[$i]}");
        if [[ ! -z "$children" ]]; then
            # allow word splitting on the children.
            children_to_process+=($children);
        fi;
    done;
    if [[ "${#children_to_process[@]}" -gt 0 ]]; then
        images_to_process=("${children_to_process[@]}");
        images_to_remove+=("${children_to_process[@]}");
    else
        #no images have any children. We're done creating the graph.
        break;
    fi;
done;
echo images_to_remove = "$(printf %s\n "${images_to_remove[@]}")";
indices=(${!images_to_remove[@]});
for ((i="${#indices[@]}" - 1; i >= 0; --i)) ; do
    image_to_remove="${images_to_remove[indices[i]]}"
    if [[ "${image_to_remove:0:7}" == "sha256:" ]]; then
        image_to_remove="${image_to_remove:7}";
    fi
    echo removing image "$image_to_remove";
    docker rmi "$image_to_remove";
done

6
# docker rm $(docker ps -aq)

এর পরে কমান্ডটি এনগুইনের পরামর্শ অনুসারে ব্যবহার করুন।


4

সাইমন ব্র্যাডির ব্রুট ফোর্স পদ্ধতিটি এখানে তৈরি করা , আপনার যদি এক টন চিত্র না থাকে তবে আপনি এই শেল ফাংশনটি ব্যবহার করতে পারেন:

recursive_remove_image() {
  for image in $(docker images --quiet --filter "since=${1}")
  do
    if [ $(docker history --quiet ${image} | grep ${1}) ]
    then
      recursive_remove_image "${image}"
    fi
  done
  echo "Removing: ${1}"
  docker rmi -f ${1}
}

এবং তারপরে এটি কল করুন recursive_remove_image <image-id>


4
docker rmi <rep:tag>

উদা:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
python              3.6            60f85556d5d2        4 days ago          174MB

ডকার আরএমআই অজগর: 3.6


3

আমি যখন "<none>"ডকারে নামযুক্ত কিছু অব্যবহৃত চিত্র মুছে ফেলতে চাই তখন আমি সমস্যার মুখোমুখি হই। unable to delete a354bbc7c9b7 (cannot be forced) - image has dependent child imagesএই সমস্যাটি সমাধান করার জন্য তাই:

sudo ডকার PS -a

CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                         PORTS                                              NAMES
01ee1276bbe0        lizard:1                    "/bin/sh -c 'java ..."   About an hour ago   Exited (1) About an hour ago                                                      objective_lewin
49d73d8fb023        javaapp:latest              "/usr/bin/java -ja..."   19 hours ago        Up 19 hours                    0.0.0.0:8091->8091/tcp                             pedantic_bell
405fd452c788        javaapp:latest              "/usr/bin/java -ja..."   19 hours ago        Created                                                                           infallible_varahamihira
532257a8b705        javaapp:latest              "/usr/bin/java -ja..."   19 hours ago        Created                                                                           demo-default
9807158b3fd5        javaapp:latest              "/usr/bin/java -ja..."   19 hours ago        Created                                                                           xenodochial_kilby
474930241afa        jenkins                     "/bin/tini -- /usr..."   13 days ago         Up 4 days                      0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   myjenkins
563d8c34682f        mysql/mysql-server:latest   "/entrypoint.sh my..."   3 weeks ago         Up 4 days (healthy)            0.0.0.0:3306->3306/tcp, 33060/tcp                  mymysql
b4ca73d45d20        phpmyadmin/phpmyadmin       "/run.sh phpmyadmin"     4 weeks ago         Exited (0) 3 weeks ago                                                            phpmyadmin

আপনি দেখতে পাচ্ছেন যে আমার কাছে জাভাঅ্যাপ নামের বেশ কয়েকটি চিত্র রয়েছে: সর্বশেষ এবং পৃথক ধারকের নাম। সুতরাং, আমি "জাভাঅ্যাপ: সর্বশেষ" ধারকটির সমস্ত ধারককে হত্যা করে সরিয়ে দিয়েছি:

সুডো ডকার স্টপ "ধারক নাম"

সুডো ডকার আরএম "ধারক নাম"

তারপর

sudo ডকার আরএমআই -f "ইমেজ আইডি"

সুতরাং আমি নাম সহ সমস্ত চিত্র মুছে ফেলতে পারি "<none>"

গুডলাক


1

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

ডকার PS -a -f স্থিতি = প্রস্থানিত: এই কমান্ডটি সমস্ত প্রস্থানিত পাত্রে দেখায় তাই কনটেইনার আইডি অনুলিপি করুন এবং তারপরে কন্টেইনার অপসারণের জন্য কমান্ডের নীচে চলুন command

ডকার আরএম # কনটেনারআইডি: এই কমান্ডটি ধারক অপসারণ করে এটি "ইমেজের উপর নির্ভরশীল শিশুদের ছবি রয়েছে" বলে উল্লেখ করা যেতে পারে

তারপরে নীচের কমান্ড সহ চিত্রটি অপসারণ করার চেষ্টা করুন

ডকার আরএমআই # ইমেজআইডি


1

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

আমি কোনও সংযোগ স্পট করতে পারি কিনা তা দেখতে আমি আকারগুলি আকারে চিত্রগুলি তালিকাভুক্ত করেছি:

docker images --format '{{.Size}}\t{{.Repository}}\t{{.Tag}}\t{{.ID}}' | sort -h -r | column -t

এটি যা করে তা হ'ল প্রথমে চিত্রের আকারের কলামটি অবস্থান করতে ডকার থেকে কিছু বিশেষ বিন্যাস ব্যবহার করুন, তারপরে বিপরীত ক্রমে একটি মানব পাঠযোগ্য বাছাই করুন। তারপরে আমি সহজেই পঠনযোগ্য কলামগুলি পুনরুদ্ধার করি।

তারপরে আমি <none>পাত্রে তাকালাম , এবং একই আকারের সাথে তালিকার প্রথমটির সাথে মেলে। আমি docker rmi <image:tag>সেই চিত্রটিতে একটি সাধারণ অভিনয় করেছি এবং সমস্ত <none>শিশু চিত্র এটির সাথে চলেছে।

সমস্ত বাচ্চার চিত্র সহ সমস্যা চিত্রটি আমি প্রথমে ডকারের সাথে খেলতে শুরু myrepo/getstarted-lab করার সময় ব্যবহার করতাম image কারণ আমি প্রথম পরীক্ষার চিত্র থেকে একটি নতুন চিত্র তৈরি করেছি যা চেইন তৈরি করেছিল।

আশা করি এটি কোনও সময়ে অন্য কাউকে সহায়তা করবে।


1

মনে করুন আমাদের একটি ডকফেরাইল আছে

FROM ubuntu:trusty
CMD ping localhost

আমরা এটি থেকে ট্যাগ বা নামকরণ ছাড়াই চিত্রটি তৈরি করি

docker build .

এখন আমরা একটি সাফল্যের রিপোর্ট পেয়েছি "যদি সফলভাবে 57ca5ce94d04 নির্মিত হয়েছে" যদি আমরা ডকার চিত্রগুলি দেখি

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              57ca5ce94d04        18 seconds ago      188MB
ubuntu              trusty              8789038981bc        11 days ago         188MB

আমাদের প্রথমে এটি অপসারণ করা উচিত docker rmi 57ca5ce94d04

অনুসরণ করেছে

docker rmi 8789038981bc

সেই চিত্রটি সরিয়ে দেওয়া হবে!

কারও পরামর্শ অনুসারে জোর করে সমস্ত অপসারণ করা

docker rmi $(docker images -q) -f

1

@ নুগেইনের দেওয়া উত্তরের প্রসারকে প্রসারিত করে - এই ক্রিয়াটি আপনার .bashrcইত্যাদিতে যুক্ত করা যেতে পারে এবং তারপরে কোনও image has dependent child imagesত্রুটি পরিষ্কার করতে কমান্ডলাইন থেকে আহ্বান করা যেতে পারে ...

আপনি নিজের মতো করে ফাংশনটি চালাতে পারেন এবং যদি docker psব্যর্থ হয় তবে এটি dockerকমান্ডটি চালিয়ে sudoআপনার পাসওয়ার্ডের জন্য আপনাকে অনুরোধ জানাবে ।

না না কোনো চলমান পাত্রে জন্য ইমেজ মুছে ফেলতে!

docker_rmi_dependants ()                                                                                                                                                         
{ 
  DOCKER=docker
  [ docker ps >/dev/null 2>&1 ] || DOCKER="sudo docker"

  echo "Docker: ${DOCKER}"

  for n in $(${DOCKER} images | awk '$2 == "<none>" {print $3}');
  do  
    echo "ImageID: $n";
    ${DOCKER} inspect --format='{{.Id}} {{.Parent}}' $(${DOCKER} images --filter since=$n -q);
  done;

  ${DOCKER} rmi $(${DOCKER} images | awk '$2 == "<none>" {print $3}')
}

আমার .bashrcফাইলে এটিও রয়েছে ...

docker_rm_dangling ()  
{ 
  DOCKER=docker
  [ docker ps >/dev/null 2>&1 ] || DOCKER="sudo docker"

  echo "Docker: ${DOCKER}"

  ${DOCKER} images -f dangling=true 2>&1 > /dev/null && YES=$?;                                                                                                                  
  if [ $YES -eq 1 ]; then
    read -t 30 -p "Press ENTER to remove, or CTRL-C to quit.";
    ${DOCKER} rmi $(${DOCKER} images -f dangling=true -q);
  else
    echo "Nothing to do... all groovy!";
  fi  
}

সঙ্গে কাজ করে:

$ docker --version 
Docker version 17.05.0-ce, build 89658be

0

চিত্রগুলির একটি তালিকা মুছতে বাধ্য করুন (উদাহরণস্বরূপ সংস্করণ 10 বাদ দিন)

ডকার ইমেজ | গ্রেপ সংস্করণ | p (awk -F "" {মুদ্রণ $ 3} '/root/images.txt) এর জন্য গ্রেগ-ভি সংস্করণ 10> images.txt &&; ডকার rmi -f $ img; সম্পন্ন


-1

আপনি কেবল এটি করতে পারেন:

➜ ~ উবুন্টু Docker RMI 4ed13257bb55 -f মোছা হয়েছে: SHA256: 4ed13257bb5512b975b316ef482592482ca54018a7728ea1fc387e873a68c358 মোছা হয়েছে: SHA256: 4a478ca02e8d2336595dcbed9c4ce034cd15f01229733e7d93a83fbb3a9026d3 মোছা হয়েছে: SHA256: 96df41d1ce6065cf75d05873fb1f9ea9fed0ca86addcfcec7722200ed3484c69 মোছা হয়েছে: SHA256: d95efe864c7096c38757b80fddad12819fffd68ac3cc73333ebffaa42385fded


-1

চিত্র স্তর: সংগ্রহস্থলগুলিকে প্রায়শই চিত্র বা ধারক চিত্র হিসাবে চিহ্নিত করা হয়, তবে বাস্তবে সেগুলি এক বা একাধিক স্তর দ্বারা গঠিত। একটি সংগ্রহস্থলের চিত্র স্তরগুলি পিতা-মাতার সন্তানের সম্পর্কের সাথে একত্রে সংযুক্ত থাকে। প্রতিটি চিত্র স্তর নিজের এবং পিতামাতার স্তরের মধ্যে পরিবর্তনগুলি উপস্থাপন করে।

ডকার বিল্ডিং প্যাটার্ন উত্তরাধিকার ব্যবহার করে । এর অর্থ সংস্করণ সংস্করণের iউপর নির্ভর করে i-1। সুতরাং, সংস্করণ i+1মুছতে সক্ষম হতে আমাদের অবশ্যই সংস্করণটি মুছতে হবে i। এটি একটি সাধারণ নির্ভরতা।

আপনি যদি সর্বশেষ চিত্র (সর্বাধিক আপডেট হওয়া) এবং প্রথম (বেস) বাদে সমস্ত চিত্র মুছে ফেলতে চান তবে আমরা docker saveনীচের মতো কমান্ড ব্যবহার করে সর্বশেষ (সর্বাধিক আপডেট হওয়া) রফতানি করতে পারি ।

docker save -o <output_file> <your_image-id> | gzip <output_file>.tgz

তারপরে, এখন, নীচের মতো চিত্র-আইডি ব্যবহার করে সমস্ত চিত্র মুছুন ।

docker rm -f <image-id i> | docker rm -f <image i-1> | docker rm -f <image-id i-2> ... <docker rm -f <image-id i-k> # where i-k = 1

এখন, আপনার সংরক্ষিত টিজিজেড চিত্রটি নীচের মতো লোড করুন।

gzip -c <output_file.tgz> | docker load

ডকার পিএস-কিউ ব্যবহার করে আপনার বোঝা চিত্রের চিত্র-আইডি দেখুন। এটিতে ট্যাগ এবং নাম নেই। নীচের মত আপনি কেবল ট্যাগ এবং নাম আপডেট করতে পারেন।

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