ডকার রেজিস্ট্রি এবং সংগ্রহস্থলের মধ্যে পার্থক্য


147

ডকার রেজিস্ট্রি এবং সংগ্রহস্থলগুলির মধ্যে পার্থক্য সম্পর্কে আমি বিভ্রান্ত। মনে হচ্ছে ডকার ডকুমেন্টেশন দুটি শব্দকে আন্তঃবিন্যভাবে ব্যবহার করে। এছাড়াও, সংগ্রহস্থলগুলিকে মাঝে মাঝে চিত্র হিসাবে উল্লেখ করা হয়, যেমন এটি তাদের ডক্স থেকে:

কোনও রেজিস্ট্রি এর রেজিস্ট্রিতে চাপ দেওয়ার জন্য, এখানে যেমন আমরা দেখেছি তেমন একটি চিত্রের নামকরণ বা আপনার ধারককে একটি নামকৃত প্রতিচ্ছবিতে প্রতিশ্রুতিবদ্ধ করা উচিত।

এখন আপনি এই সংগ্রহস্থলটির নাম বা ট্যাগ দ্বারা নির্ধারিত রেজিস্ট্রিতে চাপ দিতে পারেন।

আপনি কীভাবে কোনও রেজিস্ট্রিতে একটি পুঁজিকে ঠেলাতে পারেন? আপনি কি ভান্ডারটিতে ছবিটি চাপ দিচ্ছেন না?


4
ডকার ইমেজ বনাম ডকারের সংগ্রহশালা সম্পর্কে কী?
চার্লি পার্কার 6

: চিত্রগুলি ভান্ডার বনাম জন্য stackoverflow.com/questions/31115098/...
wisbucky

1
যদি আপনি জানেন git, তবে - ডকার রেজিস্ট্রি (ডিফল্ট হয় hub.docker.com) => গিটহাব ( github.com); - ডকার সংগ্রহস্থল => গিট সংগ্রহস্থল; - ডকার ট্যাগ => গিট রেফ (শাখা / ট্যাগ)
go2null

গিটারে ডকারকে আরও ভাল মানচিত্রের জন্য: ock ডকার রেজিস্ট্রি = গিট সার্ভার • ডকার রেপোজিটরি = গিট সংগ্রহশালা ock ডকার ট্যাগ = গিট ট্যাগ (কম বা কম)
সাইমন উডসাইড

উত্তর:


170

ডকার রেজিস্ট্রি এমন একটি পরিষেবা যা আপনার ডকার চিত্রগুলি সংরক্ষণ করে।

ডকার রেজিস্ট্রি কোনও তৃতীয় পক্ষ দ্বারা পাবলিক বা বেসরকারী রেজিস্ট্রি হিসাবে হোস্ট করা যেতে পারে, যেমন নিচের একটি নিবন্ধের মতো:

অথবা আপনি নিজের দ্বারা ডকার রেজিস্ট্রি হোস্ট করতে পারেন
( আরও তথ্যের জন্য https://docs.docker.com/ee/dtr/ দেখুন)।

ডকার সংগ্রহস্থল হ'ল একই নামের বিভিন্ন ডকার চিত্রের একটি সংগ্রহ যা বিভিন্ন ট্যাগ রয়েছে have ট্যাগ হ'ল একটি সংগ্রহস্থলের মধ্যে চিত্রের বর্ণমালা শনাক্তকারী।

উদাহরণস্বরূপ https://hub.docker.com/r/library/python/tags/ দেখুন । অফিসিয়াল পাইথন চিত্রের জন্য অনেকগুলি আলাদা ট্যাগ রয়েছে, এই ট্যাগগুলি ডকার হাবের অফিশিয়াল পাইথন সংগ্রহস্থলের সমস্ত সদস্য। ডকার হাব ডকার দ্বারা পরিচালিত একটি ডকার রেজিস্ট্রি।

আরও পড়ুন জানতে:



2
এবং এটি আর্টিফ্যাক্টারের লিঙ্কটি - jfrog.com/confluence/display/RTF/Docker+Registry
জেবারুচ

1
ডকারে সংগ্রহস্থল এবং চিত্রগুলির মধ্যে পার্থক্য কী?
চার্লি পার্কার 6

1
সংগ্রহশালা ট্যাগ দ্বারা চিহ্নিত চিহ্নিত একাধিক বিভিন্ন চিত্র সঞ্চয় করতে পারে।
নেমানজা ত্রিফুনোভিচ

2
কেন একটি একক চিত্রের একাধিক ট্যাগ রয়েছে তা বোঝা যায় না?
চার্লি পার্কার 0

64

কনটেইনারগুলির সাহায্যে সফটওয়্যার ব্যবহার করে, ডেভেলিং এবং স্থাপন করা বইটি থেকে

নিবন্ধসমূহ, সংগ্রহশালা, চিত্র এবং ট্যাগসমূহ

চিত্রগুলি সংরক্ষণ করার জন্য একটি শ্রেণিবিন্যাস ব্যবস্থা রয়েছে। নিম্নলিখিত পরিভাষা ব্যবহৃত হয়:

রেজিস্ট্রি

চিত্রগুলি হোস্টিং ও বিতরণের জন্য দায়ী একটি পরিষেবা। ডিফল্ট রেজিস্ট্রি হ'ল ডকার হাব।

সংগ্রহস্থলের প্রয়োগ

সম্পর্কিত চিত্রগুলির সংগ্রহ (সাধারণত একই অ্যাপ্লিকেশন বা পরিষেবার বিভিন্ন সংস্করণ সরবরাহ করা হয়)।

ট্যাগ

একটি সংগ্রহস্থলের মধ্যে চিত্রগুলির সাথে সংযুক্ত একটি আলফানিউমারিক সনাক্তকারী (যেমন, 14.04 বা স্থিতিশীল)।

সুতরাং কমান্ডটি ডকার হাব রেজিস্ট্রি থেকে সংগ্রহস্থলের docker pull amouat/revealjs:latestমধ্যে সর্বশেষ ট্যাগযুক্ত চিত্রটি ডাউনলোড করবে amouat/revealjs


1
সুতরাং একটি একক চিত্র জন্য একাধিক ট্যাগ থাকতে পারে?
চার্লি পার্কার

1
@ চার্লি হ্যাঁ উদাহরণস্বরূপ, এখনই ubuntu:latestএবং ubuntu:16.04একই জিনিস রয়েছে Image IDযার অর্থ তারা একই চিত্রের জন্য কেবলমাত্র একাধিক ট্যাগ।
উইসবাকী

যেখানে এটি বিচ্ছিন্ন হয় তার ডকুমেন্টেশনে রয়েছে docker pull, যা অংশে লেখা আছে: "একটি নির্দিষ্ট চিত্র ডাউনলোড করতে বা চিত্রের সেট (যেমন, একটি সংগ্রহস্থল) ব্যবহার করুন docker pullno কোনও ট্যাগ সরবরাহ না করা থাকলে, ডকার ইঞ্জিনটি :latestডিফল্ট হিসাবে ট্যাগটি ব্যবহার করে । " তাহলে কীভাবে একজন "চিত্রের সেট সেট (যেমন একটি সংগ্রহস্থল) ডাউনলোড করবেন"? 🤔
লেয়ার্ড নেলসন

1
এলোমেলো তথ্য: ডিফল্ট রেজিস্ট্রি url হ'ল ডকার.ইও
ইয়োসফ্রো

1
আমি এটিকে এমন একটি গাছের মতো দেখতে দেখতে নিবন্ধভুক্ত যা মূল হ'ল বেশ কয়েকটি শিশু সংগ্রহস্থল রয়েছে এবং এই সংগ্রহস্থলের প্রত্যেকটিরই চিত্র রয়েছে: এর শিশু হিসাবে ট্যাগ। এই স্তরের প্রত্যেকটির একটি বিশেষ ভূমিকা রয়েছে - একটি রেজিস্ট্রি হস্টিং লোকেশনের মতো এবং একটি সংগ্রহস্থল চিত্রগুলির একটি ডিরেক্টরি। আমার বোধগম্যতা কি সঠিক?
Ultrablendz

12

তথ্য পরিপূরক:

  • আপনি সাধারণত কোনও রেজিস্ট্রিতে (এবং এটির অংশযুক্ত সমস্ত চিত্র) একটি ভাণ্ডার ঠেকান। তবে আপনি কোনও একক চিত্রকে একটি রেজিস্ট্রিতে ঠেলাতে পারেন। সব ক্ষেত্রে, আপনি ব্যবহার docker push
  • একটি ছবিতে 12-হেক্স-ডিজিটের চিত্র আইডি রয়েছে, তবে এটি দ্বারা সনাক্ত করা: namespace/repo-name:tag
  • চিত্রের পুরো নামটি নিখরচায় রেজিস্ট্রি হোস্টের নাম এবং পোর্ট দ্বারা উপস্থাপিত করা যেতে পারে: myregistryhost:5000/namespace/repo-name:tag
  • একটি সাধারণ নামকরণ কনভেনশন হ'ল আপনার রেজিস্ট্রি ব্যবহারকারীর নামটি যাকে আমি "নেমস্পেস" বলেছিলাম as

3
আপনি যা বলছেন তা আমি পেয়েছি তবে প্রযুক্তিগতভাবে এমন কোনও জিনিস নেই image-name। ফর্ম্যাটটি ডকার ডকুমেন্টেশনuser-name/repo-name:tag অনুসারে হওয়া উচিত । (আমি আশা করি ডকার আরও ভাল পরিভাষা ব্যবহার করতেন, এটি বেশ বিভ্রান্তিকর, এবং তারা সর্বদা সামঞ্জস্যপূর্ণও নয়)।
উইসবাকি

@ উইসবাকী ধন্যবাদ! আমি আমার উত্তর আপডেট। আমি যখন এক বছর আগে এই প্রশ্নের উত্তর দিয়েছিলাম তখন ডকুমেন্টেশন খুব ভাল ছিল না। উদাহরণস্বরূপ, এরপরে আমি ডকার গিথুব রেপোতে একটি সমস্যা তৈরি করেছি কারণ ডকার গ্লসারিটিতে "স্তর" এবং "নামস্থান" (!) নেই
পাওলো মেরসন

1
আপনি যখন নিম্মিস / ডকার-আল্পাইন-জাভা এর মতো কিছু রাখেন তখন ডকার কীভাবে পাবলিক রেজিস্ট্রির আইপি ঠিকানার কাজ করে? সর্বশেষ
অ্যাডাম

1
উফস -docker info |grep Registry
অ্যাডাম 16

2

একজন Docker সংগ্রহস্থলের একটি চতুর সংমিশ্রণ registryএবং image

docker tag foo <registry>/<image>:<tag>

হিসাবে একই

docker tag foo <repository>:<tag>

0

ডকার রেজিস্ট্রি একটি পরিষেবা, যা আপনি নিজের দ্বারা হোস্ট করতে পারেন (বিশ্বস্ত এবং বেসরকারী) অথবা আপনি এই পরিষেবার জন্য ডকার হাবকে হোস্ট হতে দিতে পারেন। সাধারণত, যদি আপনার সফ্টওয়্যারটি বাণিজ্যিক হয় তবে আপনি এটি "ব্যক্তিগত এবং বিশ্বস্ত" রেজিস্ট্রি হিসাবে হোস্ট করবেন। জাভা ডেভেলপারদের জন্য, এটি কিছুটা ম্যাভেন আর্টিফ্যাক্টর সেটআপের জন্য অনুরূপ।

ডকার রেপোজিটরি হ'ল "ট্যাগড" চিত্রের একটি সেট। একটি উদাহরণ হ'ল আপনি হয়ত 5 টি ubuntu:latestচিত্র ট্যাগ করেছেন:

ক) ন্যানো সম্পাদক (চিত্র 1_ট্যাগ: ভি 1)

খ) একটি নির্দিষ্ট সফ্টওয়্যার 1 (চিত্র 1_ট্যাগ: ভি 2)

গ) সুডো (চিত্র 1_ট্যাগ: ভি 3)

d) অ্যাপাচি এইচটিপি ডেমন (চিত্র 1_ট্যাগ: ভি 4)

e) টমক্যাট (চিত্র 1_ট্যাগ: ভি 5)

docker pushউপরের চিত্রগুলির প্রত্যেকটিকে আপনার ভাণ্ডারে ঠেলাতে আপনি কমান্ডটি ব্যবহার করতে পারেন । সংগ্রহস্থলের নামগুলি যতক্ষণ মিলবে ততক্ষণ এগুলি সফলভাবে ঠেলে দেওয়া হবে এবং আপনার নির্বাচিত সংগ্রহস্থলের নীচে উপস্থিত হবে এবং সঠিকভাবে ট্যাগ হবে।

এখন, আপনার প্রশ্নটি হল, "তাহলে কোথায় এই সংগ্রহস্থলটি হোস্ট করা হয় / কে এই পরিষেবাটি পরিচালনা করছে"? সেখানেই ডকার রেজিস্ট্রি ছবিতে আসে। ডিফল্টরূপে আপনি একটি ডকার হাব রেজিস্ট্রি পাবেন (ওপেন সোর্স) যা আপনি আপনার ব্যক্তিগত / সার্বজনীন সংগ্রহস্থল রাখতে ব্যবহার করতে পারেন। সুতরাং কোনও পরিবর্তন ছাড়াই আপনার চিত্রগুলি ডকার হাবের আপনার ব্যক্তিগত সংগ্রহস্থলে ঠেলাঠেলি করা হবে। আপনি যখন নিজের ইমেজ ট্যাগগুলিকে চাপ দিচ্ছেন তখন একটি উদাহরণ আউটপুট:

docker@my-docker-vm:/$ docker push mydockerhub/my-helloworld-repo:my_tag
The push refers to repository [docker.io/mydockerhub/my-helloworld-repo]
bf41e934d39d: Pushed
70d93396f87f: Pushed
6ec525dfd060: Pushed
705419d10b13: Pushed
a4aaef726d02: Pushed
04964fddc946: Pushed
latest: digest: sha256:eb93c92351bce785aa3ec0de489cfeeaafd55b7d90adf95ecea02629b376e577 size: 1571
docker@my-docker-vm:/$

এবং আপনি যদি অবিলম্বে টাইপ করেন তবে আপনি docker images --digests -aনিশ্চিত করতে পারবেন যে আপনার ধাক্কা দেওয়া চিত্র ট্যাগগুলি এখন ডকার হাব রেজিস্ট্রি দ্বারা পরিচালিত ব্যক্তিগত সংগ্রহস্থলের বিরুদ্ধে নতুন স্বাক্ষর দেখাচ্ছে showing


"উপরের চিত্রগুলির প্রত্যেকটিকে আপনার ভান্ডারগুলিতে ঠেলে দেওয়ার জন্য ডকার পুশ কমান্ড" - আপনি চিত্রগুলিকে ভান্ডারগুলিতে ঠেলাবেন না, তবে রেজিস্ট্রিগুলিতে সংগ্রহস্থলগুলি রাখবেন। নাকি আমি ভুল করছি?
ইমপালার

0

ডকার হাব এবং অন্যান্য তৃতীয় পক্ষের সংগ্রহস্থল হোস্টিং পরিষেবাগুলিকে "রেজিস্ট্রি" বলা হয়। একটি রেজিস্ট্রি সংগ্রহস্থলের সংগ্রহ করে।

যেহেতু একটি রেজিস্ট্রিতে অনেকগুলি সংগ্রহস্থল থাকতে পারে এবং একটি সংগ্রহস্থলে একই চিত্রের অনেকগুলি বিভিন্ন সংস্করণ থাকতে পারে যা পৃথকভাবে ট্যাগগুলির সাথে সংস্করণযুক্ত।

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