Skip to content
VDS · Docker ও কনটেইনার

Docker: মেশিনে ইনস্টল করা

Debian, Ubuntu ও AlmaLinux-এ Docker সঠিকভাবে ইনস্টল করার পদ্ধতি, কেন অফিসিয়াল রিপোজিটরি সিস্টেম প্যাকেজের চেয়ে ভালো এবং ইনস্টলের পরপরই কী যাচাই করবেন।

আপডেট: ২৩ আগস্ট, ২০২৬

Docker একটি অ্যাপ্লিকেশনকে তার সম্পূর্ণ পরিবেশসহ একটি কন্টেইনারে প্যাক করে: আপনাকে লাইব্রেরির ভার্সন মেলাতে হবে না, আর অন্য মেশিনে সরানো মানে শুধু একটি কনফিগ ফাইল কপি করা। সম্পূর্ণ root অ্যাক্সেসসহ একটি VDS-এ এটি সাধারণ নিয়মেই ইনস্টল হয়।

অফিসিয়াল রিপোজিটরি থেকে ইনস্টল

সিস্টেম রিপোজিটরিতে হয় পুরোনো ভার্সন থাকে, নয়তো Compose v2 প্লাগইন ছাড়া docker.io। পার্থক্যটা গুরুত্বপূর্ণ: অনলাইনের অর্ধেক গাইড আধুনিক docker compose-এর জন্য লেখা, docker-compose-এর জন্য নয়।

Debian 12 এবং 13, Ubuntu 22.04 / 24.04 / 26.04:

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Ubuntu-র ক্ষেত্রে দুই জায়গায় debian-এর বদলে ubuntu বসান।

AlmaLinux 9 এবং 10, CentOS Stream 9:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker

ইনস্টলেশন যাচাই

docker --version
docker compose version
sudo docker run --rm hello-world
docker info | grep -E "Storage Driver|Cgroup|Docker Root Dir"

যদি hello-world ডাউনলোড হয়ে তার অভিবাদন প্রিন্ট করে, তাহলে সবকিছু কাজ করছে। স্টোরেজ ড্রাইভার overlay2 হওয়া উচিত।

sudo ছাড়া কাজ করা

sudo usermod -aG docker $USER
newgrp docker

docker গ্রুপ root-এর সমতুল্য। এতে থাকা যে কেউ হোস্টের root মাউন্ট করে একটি কন্টেইনার চালাতে পারে এবং অ্যাডমিনিস্ট্রেটর হয়ে যেতে পারে। শুধু তাদেরই যোগ করুন যাদের আপনি যেকোনোভাবেই root দিতেন — আর অ্যাপ্লিকেশনকে কখনোই এটি দেবেন না।

এখনই যা কনফিগার করা উচিত

লগ সীমিত করুন, নাহলে একটি বেশি কথা বলা কন্টেইনার আপনার ডিস্ক খেয়ে ফেলবে। /etc/docker/daemon.json তৈরি করুন:

{
  "log-driver": "json-file",
  "log-opts": { "max-size": "20m", "max-file": "3" }
}
sudo systemctl restart docker

আরও বিস্তারিত — কন্টেইনার লগ।

কত জায়গা নেয়

Docker নিজে প্রায় 500 MB; ইমেজ আর ভলিউম এরপর থেকে বাড়তে থাকে। 40 GB ডিস্কসহ VDS-1-এ দুই-তিনটি সার্ভিস ধরে, তবে জায়গার দিকে নজর রাখতে হবে: দেখুন ডিস্ক স্পেস।

সাধারণ ভুল

  • আপনি docker.io আর docker-ce মিশিয়ে ফেলেছেন। প্রথমে sudo apt remove docker.io docker-compose, তারপর অফিসিয়াল রিপোজিটরি থেকে ইনস্টল করুন।
  • Docker ফায়ারওয়াল এড়িয়ে একটি পোর্ট খুলে দিয়েছে। Docker নিজের iptables রুল লেখে, আর ufw সেগুলো দেখে না। পোর্টটি লোকাল ইন্টারফেসে পাবলিশ করুন — -p 127.0.0.1:8080:80 — যদি এটি বাইরে খোলা আপনার দরকার না হয়। আরও বিস্তারিত Docker নেটওয়ার্কিং-এ।
  • AlmaLinux-এ systemctl-এ --now দিতে ভুলে গেছেন। সার্ভিসটি enabled কিন্তু started নয়; রিবুটের পর কাজ করবে, কিন্তু এখনই নয়।

পরবর্তী: Docker Compose এবং ভলিউম।