আমরা এই জাতীয় ডকার ওয়েবসাইটে উপলভ্য চিত্র ফাইলগুলি অনুসন্ধান করতে পারি:
ডাউনলোডের আকার টানার আগে কী হবে তা আমি কীভাবে বলতে পারি?
docker.io pull [image]
আমরা এই জাতীয় ডকার ওয়েবসাইটে উপলভ্য চিত্র ফাইলগুলি অনুসন্ধান করতে পারি:
ডাউনলোডের আকার টানার আগে কী হবে তা আমি কীভাবে বলতে পারি?
docker.io pull [image]
উত্তর:
ডকার, ডকার রিমোট এপিআই v1.10 এর জন্য এপিআইয়ের দিকে তাকালে চিত্রের আকারগুলি পাওয়ার কোনও উপায় আছে বলে মনে হয় না। বিভাগ "২.২ ইমেজ" চিত্রগুলি সম্পর্কে কীভাবে জিজ্ঞাসা করবেন সে সম্পর্কে নির্দিষ্ট বৈশিষ্ট্য দেখায়।
GET /images/json?all=0 HTTP/1.1
**Example response**:
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"RepoTags": [
"ubuntu:12.04",
"ubuntu:precise",
"ubuntu:latest"
],
"Id": "8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c",
"Created": 1365714795,
"Size": 131506275,
"VirtualSize": 131506275
},
{
"RepoTags": [
"ubuntu:12.10",
"ubuntu:quantal"
],
"ParentId": "27cf784147099545",
"Id": "b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc",
"Created": 1364102658,
"Size": 24653,
"VirtualSize": 180116135
}
]
তবে এই ক্যোয়ারিতে একটি আসল ডকার উদাহরণের বিরুদ্ধে যাওয়া দরকার। কেউ কীভাবে উপরের রেস্টস্টুল ক্যোরি ব্যবহার করতে পারে তা দেখানোর উদাহরণ এখানে দেওয়া হয়েছে:
$ echo -e "GET /images/json HTTP/1.0\r\n" | nc -U /var/run/docker.sock
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 858
Connection: close
Date: Fri, 20 Dec 2013 16:02:41 GMT
[{"Repository":"ubuntu","Tag":"12.04","Id":"8dbd9e392...",
"Created":1365714795,"Size":131502179,"VirtualSize":131502179},
{"Repository":"ubuntu","Tag":"latest","Id":"8dbd9e392...",
"Created":1365714795,"Size":131502179,"VirtualSize":131502179},
{"Repository":"ubuntu","Tag":"precise","Id":"8dbd9e392...",
"Created":1365714795,"Size":131502179,"VirtualSize":131502179},
{"Repository":"ubuntu","Tag":"12.10","Id":"b750fe792...",
"Created":1364102658,"Size":24653,"VirtualSize":180116135},
{"Repository":"ubuntu","Tag":"quantal","Id":"b750fe792...",
"Created":1364102658,"Size":24653,"VirtualSize":180116135}]
এই বিশেষ RESTful কলটি ব্যবহার করে আমি পাবলিক ভান্ডারগুলি জিজ্ঞাসা করার কোনও উপায় দেখিনি। কেবলমাত্র আরএসইএসএফুল পদ্ধতি যা দেখে মনে হয়েছিল যে আপনি ডকার.ওয়ের চিত্র অনুসন্ধান করতে পেরেছিলেন GET /images/search
তবে এপিআই এর জন্য কোনও আকারের বৈশিষ্ট্য দেখায় না।
docker search
এটি আপনার প্রশ্নের সরাসরি উত্তর নয় তবে আমি আশা করি এটি তবুও সহায়ক হবে।
ইন ডিস্ক ব্যবহার স্ক্রিপ্ট আমার মধ্যে Docker পরীক্ষায় আমি ভালো কিছু ব্যবহার করুন:
docker run --entrypoint=/bin/sh $image -c 'du -sh / 2>/dev/null | cut -f1'
সুতরাং আপনি চালাতে পারেন, যেমন:
docker run --entrypoint=/bin/sh ubuntu -c 'du -sh / 2>/dev/null | cut -f1'
বা আপনি এই স্ক্রিপ্টটি ডাউনলোড করতে পারেন: ডিস্ক-ব্যবহার
এবং চালাতে উদাহরণস্বরূপ সেই 3 টি চিত্রের জন্য ./disk-usage "ubuntu busybox gcc"
ডিস্কের ব্যবহার (যেমন রিপোর্ট করেছেন du -sh
) প্রদর্শিত হবে:
Image Disk usage
----- ----------
ubuntu 209M
busybox 2.6M
gcc 1.5G
দয়া করে মনে রাখবেন যে এটি কোনও প্রদত্ত চিত্রের জন্য প্রয়োজনীয় প্রকৃত ডাউনলোড দেখায় না এবং এটি চিত্রটি ডাউনলোড করার পরে ফলাফলটি প্রদর্শন করবে তবে এটি অন্যের তুলনায় কোনও প্রদত্ত চিত্রটি কীভাবে ফুলেছে সে সম্পর্কে কিছু ধারণা দেয়।
আপনি যে ছবিগুলি অন্য মেশিনে ডাউনলোড করতে চান, বা একেবারেই ব্যবহার করতে চান তা সিদ্ধান্ত নিতে আপনি এটি একটি মেশিনে চালাতে পারেন।
HTTP API v2 এর জন্য, আকারটি ট্যাগ সংস্থার অধীনে size
এবং এর অধীন উপলব্ধ full_size
। আমার রেপোর একটি ট্যাগ থেকে এখানে উদাহরণের URL রয়েছে:
https://cloud.docker.com/v2/repositories/deepdriveio/deepdrive/tags/?page_size=25&page=1
আপনি যদি সত্যিই টানুন অপারেশনের জন্য ডকার কোডটি সন্ধান করেন তবে আমি মনে করি আপনার উত্তর আছে। যদি ধারকটির চিত্রটি ক্যাশে না করা হয়, তবে চিত্রটি টানার সময় ডকার প্রথমে রেজিস্ট্রি থেকে স্তর সম্পর্কিত তথ্য, প্রতিটি স্তরের আকার ইত্যাদির মাধ্যমে চিত্র সম্পর্কে তথ্য সংগ্রহ করে etc.
আমি এই ফাইলটি পড়তে উল্লেখ করব।
https://github.com/moxiegirl/docker/blob/master/distribution/xfer/download.go
curl -s -H "Authorization: JWT " "https://hub.docker.com/v2/repositories/library/<image-name>/tags/?page_size=100" | jq -r '.results[] | select(.name == "<tag-name>") | .images[0].size' | numfmt --to=iec-i
মাইক্রোসফ্ট কনটেইনার রেজিস্ট্রির মতো অন্যান্য রেজিস্ট্রিতে চিত্রের জন্য। আমি 3 উপায় খুঁজে বের করতে।
docker manifest inspect
ম্যানিফেস্টের ডেটা পর্যবেক্ষণ করতে ব্যবহার করুন , যা আপনাকে চিত্রের সংকুচিত আকারটি কীভাবে অর্জন করবেন সে সম্পর্কে ধারণা দিতে পারে।docker manifest inspect -v <registry-domain>/<image-name> | grep size | awk -F ':' '{sum+=$NF} END {print sum}' | numfmt --to=iec-i
সক্ষম করতে docker manifest inspect
, সম্পাদনা ~/.docker/config.json
ফাইল এবং সেট experimental
করার enable
(রেফারেন্স। Docker পরিদর্শন স্পষ্ট )
চিত্রটি ডকার হাবের দিকে চাপ দিন এবং আপনি ডকার হাব ওয়েবসাইটে চিত্রটির সংকুচিত আকার পেতে পারেন।
docker save
.Tar ফাইলটিতে চিত্র সংরক্ষণ করতে এবং তারপরে একটি .tar.gz ফাইলটি সংকোচনের জন্য ব্যবহার করুন।
docker save my-image:latest > my-image.tar
# Compress the .tar file
gzip my-image.tar
# Check the size of the compressed image
ls -lh my-image.tar.gz