Docker Registry হল একটি স্থান যেখানে Docker Images সংরক্ষণ এবং বিতরণ করা হয়। এটি একটি কেন্দ্রীয় রিপোজিটরি হিসেবে কাজ করে, যেখানে ব্যবহারকারীরা তাদের তৈরি করা Docker Images আপলোড করতে এবং অন্য ব্যবহারকারীরা সেই ইমেজগুলি ডাউনলোড করতে পারে। Docker Hub হলো সবচেয়ে জনপ্রিয় পাবলিক Docker Registry, তবে ব্যবহারকারীরা তাদের নিজস্ব প্রাইভেট Registry তৈরি করতেও পারে।
কেন্দ্রীয় সংরক্ষণাগার:
বহু ইমেজ:
ভার্সন কন্ট্রোল:
nginx:latest
এবং nginx:1.19
এর মতো ভিন্ন ট্যাগ সহ ইমেজ।Authentication:
API:
Docker Hub-এ লগইন করা:
এটি আপনার Docker Hub ইউজারনেম এবং পাসওয়ার্ড চাইবে।
docker login
Docker Image পুশ করা:
এখানে my-image
হল স্থানীয় Docker Image এবং myusername/my-image:latest
হল Docker Hub-এ আপলোড করা ইমেজের নাম।
docker tag my-image myusername/my-image:latest
docker push myusername/my-image:latest
Docker Image পুল করা:
এই কমান্ডটি Docker Hub থেকে নির্দিষ্ট ইমেজ ডাউনলোড করবে।
docker pull myusername/my-image:latest
Docker Images পরিচালনা করার জন্য কিছু গুরুত্বপূর্ণ কমান্ড রয়েছে, যা আপনাকে ইমেজ তৈরি, তালিকা, তথ্য দেখা, এবং মুছতে সহায়তা করে।
Docker Image তালিকা দেখা:
এটি আপনার সিস্টেমে উপলব্ধ সমস্ত Docker Images-এর তালিকা দেখাবে।
docker images
Docker Image সম্পর্কে বিস্তারিত তথ্য দেখা:
এটি my-image
নামক ইমেজের বিস্তারিত তথ্য প্রদর্শন করবে।
docker inspect my-image
Docker Image মুছা:
এটি my-image
নামক Docker Image মুছে ফেলবে। মনে রাখবেন, যদি ইমেজটি কন্টেইনার দ্বারা ব্যবহৃত হয়, তবে এটি মুছা যাবে না।
docker rmi my-image
অব্যবহৃত Images মুছা:
এটি সমস্ত অব্যবহৃত (dangling) Images মুছে ফেলবে।
docker image prune
Docker Registry হল Docker Images সংরক্ষণ এবং বিতরণের একটি কেন্দ্রীয় ব্যবস্থা, যা ব্যবহারকারীদের জন্য তাদের ইমেজগুলি সহজে আপলোড এবং শেয়ার করার সুযোগ দেয়। Docker Hub হলো সবচেয়ে জনপ্রিয় পাবলিক Registry, তবে প্রাইভেট Registry তৈরি করাও সম্ভব। Docker Images পরিচালনার জন্য বিভিন্ন কমান্ড রয়েছে, যা ইমেজের কার্যক্রম এবং স্টোরেজ পরিচালনা করতে সহায়তা করে। Docker Registry এবং Image Management একসাথে কাজ করে Docker-এর কার্যকারিতা এবং স্থায়িত্ব উন্নত করতে।
Docker Registry হল একটি স্থান যেখানে Docker Images সংরক্ষণ, পরিচালনা এবং বিতরণ করা হয়। এটি একটি কেন্দ্রীয় রিপোজিটরি হিসেবে কাজ করে, যা ব্যবহারকারীদের তাদের তৈরি করা Docker Images আপলোড এবং শেয়ার করার সুযোগ দেয়। Docker Registry এর সবচেয়ে পরিচিত উদাহরণ হল Docker Hub, যা একটি পাবলিক Registry।
ইমেজ সংরক্ষণ:
ইমেজ বিতরণ:
ভার্সন কন্ট্রোল:
myapp:1.0
, myapp:1.1
, ইত্যাদি রাখা সম্ভব।সহযোগিতা:
নিরাপত্তা:
স্বয়ংক্রিয় নির্মাণ:
API:
Docker Registry একটি অপরিহার্য উপাদান যা Docker Images সংরক্ষণ, বিতরণ এবং পরিচালনার জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীদের জন্য তাদের তৈরি করা ইমেজগুলি সহজে সংরক্ষণ এবং শেয়ার করার সুযোগ দেয়, এবং বিভিন্ন সংস্করণের ইমেজ পরিচালনার সুবিধা প্রদান করে। Docker Hub সবচেয়ে জনপ্রিয় Docker Registry, তবে ব্যবহারকারীরা তাদের নিজস্ব প্রাইভেট Registry তৈরি করতেও পারে। Docker Registry-এর মাধ্যমে ডেভেলপাররা কার্যকরভাবে তাদের কাজ পরিচালনা করতে পারে, যা সফটওয়্যার ডেভেলপমেন্ট এবং ডিপ্লয়মেন্টের প্রক্রিয়াকে উন্নত করে।
Docker Registry হল একটি স্টোরেজ সিস্টেম যেখানে Docker Images সংরক্ষণ, শেয়ার, এবং পরিচালনা করা হয়। Docker Registry-এর দুটি প্রধান ধরনের রয়েছে: Public Registry এবং Private Registry। নিচে তাদের ব্যবহারের পদ্ধতি, সুবিধা এবং উদাহরণ আলোচনা করা হলো।
Public Registry হল একটি উন্মুক্ত প্ল্যাটফর্ম যেখানে ব্যবহারকারীরা Docker Images শেয়ার করতে এবং ডাউনলোড করতে পারে। সবচেয়ে জনপ্রিয় public registry হল Docker Hub।
nginx
, alpine
, mysql
, ইত্যাদি।docker pull nginx
Private Registry হল একটি ব্যক্তিগত প্ল্যাটফর্ম যেখানে Docker Images শুধুমাত্র নির্ধারিত ব্যবহারকারীদের জন্য উপলব্ধ থাকে। এটি সাধারণত ব্যবসায়িক পরিবেশে ব্যবহার করা হয় যেখানে নিরাপত্তা এবং গোপনীয়তা গুরুত্বপূর্ণ।
একটি Private Registry তৈরি করার জন্য, আপনি Docker Registry
ইমেজ ব্যবহার করতে পারেন:
docker run -d -p 5000:5000 --restart always --name registry registry:2
Private Registry থেকে একটি ইমেজ পুল করতে:
docker pull myregistry.com/my-image:latest
Public Registry এবং Private Registry হল Docker Images পরিচালনার দুটি ভিন্ন উপায়। Public Registry ব্যবহারকারীকে সহজে ইমেজ অ্যাক্সেস করতে দেয় এবং একটি বড় কমিউনিটি প্রদান করে, যেখানে Private Registry নিরাপত্তা এবং নিয়ন্ত্রণ নিশ্চিত করে। উভয় ধরনের Registry-এর ব্যবহার আপনার অ্যাপ্লিকেশন এবং ডেভেলপমেন্টের প্রয়োজনের ওপর নির্ভর করে।
Docker Hub হল Docker Images-এর জন্য একটি পাবলিক রেজিস্ট্রি যেখানে ব্যবহারকারীরা তাদের তৈরি করা Docker Images আপলোড (Push) এবং ডাউনলোড (Pull) করতে পারেন। এখানে Docker Hub-এ Image Push এবং Pull করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হলো।
Docker Hub-এ একটি Image Push করতে, আপনাকে প্রথমে Docker Hub-এ লগ ইন করতে হবে এবং তারপর আপনার Image ট্যাগ করতে হবে। নিচে এই প্রক্রিয়া ধাপে ধাপে বর্ণনা করা হলো:
docker login
নিচে একটি সাধারণ Dockerfile ব্যবহার করে একটি Image তৈরি করার উদাহরণ দেওয়া হলো:
# Dockerfile
FROM alpine:latest
CMD ["echo", "Hello, Docker Hub!"]
Dockerfile থেকে Image তৈরি করতে:
docker build -t my-image .
Docker Hub-এ পুশ করার জন্য, আপনাকে আপনার Image-কে একটি ট্যাগ দিতে হবে যা Docker Hub-এ ইমেজের নাম অন্তর্ভুক্ত করে:
docker tag my-image myusername/my-image:latest
myusername
হল আপনার Docker Hub ইউজারনেম এবং my-image
হল আপনার Image এর নাম।Docker Hub-এ Image Push করতে নিচের কমান্ড ব্যবহার করুন:
docker push myusername/my-image:latest
Docker Hub থেকে একটি Image Pull করতে, আপনাকে নিম্নলিখিত ধাপগুলি অনুসরণ করতে হবে:
যদি আপনি প্রাইভেট ইমেজ পুল করতে চান তবে আপনাকে লগইন করতে হবে। পাবলিক ইমেজের জন্য এটি বাধ্যতামূলক নয়।
docker login
Docker Hub থেকে একটি Image Pull করতে নিচের কমান্ড ব্যবহার করুন:
docker pull myusername/my-image:latest
myusername/my-image:latest
হল সেই Image যার আপনি কপি করতে চান।Docker Hub থেকে Image Pull করার পরে, এটি আপনার সিস্টেমে তালিকাভুক্ত হয়। এটি যাচাই করতে নিচের কমান্ডটি ব্যবহার করুন:
docker images
Docker Hub-এ Image Push এবং Pull করার প্রক্রিয়া সহজ। লগইন করার পর, আপনি আপনার Image-কে Docker Hub-এ আপলোড করতে পারেন এবং অন্যরা সেই Image-কে ডাউনলোড করতে পারে। Docker Hub একটি কেন্দ্রীয় রেজিস্ট্রি হিসেবে কাজ করে, যা Docker Images শেয়ারিং এবং ব্যবস্থাপনা সহজ করে তোলে। Docker Hub ব্যবহারের মাধ্যমে আপনি দ্রুত এবং কার্যকরভাবে Docker Images পরিচালনা করতে পারবেন।
Docker Image Tagging এবং Version Management হল Docker Images-এর পরিচালনার জন্য গুরুত্বপূর্ণ বৈশিষ্ট্য। এগুলি ডেভেলপারদের জন্য তাদের তৈরি করা Images-এর সংস্করণ নিয়ন্ত্রণ এবং সংরক্ষণকে সহজ করে তোলে। নিচে Docker Image Tagging এবং Version Management সম্পর্কে বিস্তারিত আলোচনা করা হলো।
Tagging হল একটি প্রক্রিয়া যা Docker Images-এর সংস্করণ বা ভেরিয়েন্ট সনাক্ত করতে ব্যবহৃত হয়। প্রতিটি Docker Image একটি বা একাধিক ট্যাগ থাকতে পারে, যা ইমেজের নির্দিষ্ট সংস্করণ নির্দেশ করে।
Docker Images-এর ট্যাগ সাধারণত দুটি অংশে বিভক্ত হয়:
my-app
বা nginx
)।latest
, 1.0
, 2.1
)।উদাহরণ:
my-app:1.0
nginx:latest
ইমেজ তৈরি করার সময় ট্যাগিং: Dockerfile ব্যবহার করে যখন আপনি একটি ইমেজ তৈরি করেন, তখন আপনি docker build
কমান্ডের সাথে -t
ফ্ল্যাগ ব্যবহার করে ট্যাগ দিতে পারেন।
docker build -t my-app:1.0 .
বিদ্যমান ইমেজের জন্য ট্যাগ তৈরি করা: একটি বিদ্যমান ইমেজকে নতুন ট্যাগ দিতে, docker tag
কমান্ড ব্যবহার করুন।
docker tag my-app:1.0 my-app:latest
Docker Images-এর Version Management হল ইমেজের বিভিন্ন সংস্করণ পরিচালনা করার প্রক্রিয়া। এটি ডেভেলপারদের জন্য অ্যাপ্লিকেশন ডিপ্লয়মেন্টের সময় বিভিন্ন সংস্করণ নিশ্চিত করতে সহায়ক।
ট্যাগ ব্যবহার করে: প্রতিটি ইমেজের জন্য একটি নির্দিষ্ট সংস্করণ ট্যাগ ব্যবহার করুন। যেমন:
my-app:v1.0
my-app:v1.1
লজিক্যাল সিকোয়েন্স: সংস্করণ নামকরণের জন্য একটি লজিক্যাল সিকোয়েন্স বজায় রাখুন, যেমন Semantic Versioning (MAJOR.MINOR.PATCH):
Docker Image Tagging এবং Version Management হল Docker Images-এর কার্যকর ব্যবস্থাপনার জন্য গুরুত্বপূর্ণ বৈশিষ্ট্য। Image Tagging দিয়ে আপনি ইমেজের সংস্করণ চিহ্নিত করতে পারেন এবং Version Management ব্যবহার করে বিভিন্ন সংস্করণের মধ্যে নিয়ন্ত্রণ এবং নিরাপত্তা নিশ্চিত করতে পারেন। এগুলি ডেভেলপারদের জন্য সফটওয়্যার ডেভেলপমেন্ট এবং ডিপ্লয়মেন্টের প্রক্রিয়াকে আরও সহজ এবং কার্যকর করে তোলে।