Ubuntu-এ Docker ইনস্টল এবং ব্যবহার করার পদ্ধতি: ২০২৫ সালের সম্পূর্ণ শুরুকারী গাইড

目次

১. ডকার কী? এর উবুন্টুর সাথে সম্পর্ক

ডকার একটি ভার্চুয়ালাইজেশন প্রযুক্তি যা অ্যাপ্লিকেশন রানটাইম এনভায়রনমেন্টগুলিকে “কনটেইনার” নামক ইউনিটে প্যাকেজ করে, যা যেকোনো সার্ভার বা কম্পিউটারে সামঞ্জস্যপূর্ণভাবে চালানোর অনুমতি দেয়। ঐতিহ্যগত ভার্চুয়াল মেশিনের বিপরীতে, ডকার কনটেইনারগুলিকে হোস্ট অপারেটিং সিস্টেমে সরাসরি চালায়, যা একটি হালকা এবং দ্রুত এনভায়রনমেন্ট তৈরি করা সম্ভব করে।

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

ডকার ব্যবহার করে আপনি “এটি আমার মেশিনে কাজ করে কিন্তু প্রোডাকশনে করে না” এমন সমস্যাগুলি দূর করতে পারেন। আপনার ডেভেলপমেন্ট পিসি বা প্রোডাকশন সার্ভারে যাই হোক না কেন, ডকার কনটেইনারগুলি আপনাকে যেকোনো জায়গায় একই এনভায়রনমেন্ট দ্রুত পুনরাবৃত্তি করতে দেয়। উবুন্টু ডকার দ্বারা অফিসিয়ালি সাপোর্টেড, যা সেটআপ গাইড এবং রিসোর্সগুলি সহজেই খুঁজে পাওয়া যায়।

এই নিবন্ধটি উবুন্টুতে ডকার ইনস্টল করার এবং একটি উবুন্টু কনটেইনার লঞ্চ করার ধাপে ধাপে গাইড প্রদান করে। যদি আপনি প্রথমবার ডকার ব্যবহার করেন বা বেসিকস রিভিউ করতে চান, তাহলে এই গাইডটি আপনাকে সফল হতে সাহায্য করার জন্য ডিজাইন করা হয়েছে।

২. সিস্টেম রিকোয়ারমেন্টস এবং প্রি-রিকোয়াইজিটস

উবুন্টুতে ডকার ব্যবহার করার জন্য কয়েকটি প্রি-রিকোয়াইজিট এবং প্রস্তুতি প্রয়োজন। মসৃণ ইনস্টলেশন এবং স্টার্টআপের জন্য, এখানে প্রয়োজনীয় এনভায়রনমেন্ট এবং আগে চেক করার মূল পয়েন্টগুলির একটি সারাংশ দেওয়া হলো।

উবুন্টু ভার্সন সম্পর্কে

সাধারণত উবুন্টু ১৮.০৪ এলটিএস বা তার নতুন ভার্সনে ডকার ব্যবহার করা সুপারিশ করা হয়। সবচেয়ে শক্তিশালী সাপোর্ট প্রদান করা হয় লং-টার্ম সাপোর্ট (এলটিএস) ভার্সনগুলির জন্য যেমন “উবুন্টু ২০.০৪ এলটিএস,” “উবুন্টু ২২.০৪ এলটিএস,” এবং “উবুন্টু ২৪.০৪ এলটিএস।” পুরনো ভার্সন ব্যবহার করলে প্রয়োজনীয় প্যাকেজ বা ডিপেন্ডেন্সিগুলিতে সমস্যা হতে পারে, তাই সর্বশেষ এলটিএস রিলিজ ব্যবহার করাই সবচেয়ে ভালো।

সিস্টেম রিকোয়ারমেন্টস

যদিও ডকার নিজেই একটি হালকা কনটেইনার প্রযুক্তি, একাধিক কনটেইনার চালানো বা ডেভেলপমেন্ট এবং টেস্টিংয়ের জন্য ডকার ব্যবহার করলে অতিরিক্ত রিসোর্স প্রয়োজন হতে পারে। নিম্নলিখিত ন্যূনতম স্পেসিফিকেশনগুলি সুপারিশ করা হয়:

  • ইনস্টল করা ৬৪-বিট উবুন্টু (৩২-বিট সাপোর্ট করা হয় না)
  • সিপিইউ: ২ বা তার বেশি কোর সুপারিশ করা হয়
  • মেমরি: কমপক্ষে ২জিবি (স্বচ্ছন্দ ব্যবহারের জন্য ৪জিবি বা তার বেশি পছন্দনীয়)
  • উপলব্ধ ডিস্ক স্পেস: কমপক্ষে ১০জিবি ফ্রি

ইন্টারনেট কানেকশন

ডকার ইনস্টল করতে এবং ইমেজ ডাউনলোড করতে ইন্টারনেট কানেকশন প্রয়োজন। প্রাথমিক সেটআপে প্রচুর পরিমাণ ডেটা ডাউনলোড করতে হতে পারে, তাই স্থিতিশীল কানেকশন নিশ্চিত করুন।

ইউজার পারমিশন সম্পর্কে

ডকার ইনস্টল এবং ম্যানেজ করার জন্য “sudo” (অ্যাডমিনিস্ট্রেটর) প্রিভিলেজ প্রয়োজন। যদি আপনার শুধুমাত্র সাধারণ ইউজার রাইটস থাকে, তাহলে আপনার অ্যাডমিনিস্ট্রেটরের কাছে জিজ্ঞাসা করুন বা প্রয়োজনীয় পারমিশনগুলি আগে থেকে অস্থায়ীভাবে অর্জন করুন।

পুরনো ডকার প্যাকেজগুলি রিমুভ করা

যদি আপনি আগে “docker” বা “docker.io” এমন প্যাকেজগুলি ম্যানুয়ালি ইনস্টল করেছেন, তাহলে কনফ্লিক্ট বা অপ্রত্যাশিত সমস্যা এড়াতে প্রথমে তাদের আনইনস্টল করা সুপারিশ করা হয়।

sudo apt-get remove docker docker-engine docker.io containerd runc

এটি পুরনো এবং নতুন প্যাকেজের মিশ্রণের কারণে সৃষ্ট সমস্যাগুলি প্রতিরোধ করতে সাহায্য করে।

সারাংশ

এই সেকশনের রিকোয়ারমেন্টগুলি পর্যালোচনা করুন এবং পরবর্তী অধ্যায়ের ইনস্টলেশন এবং কনফিগারেশন ধাপগুলিতে এগোনোর আগে আপনার এনভায়রনমেন্ট প্রস্তুত কিনা তা নিশ্চিত করুন।
যদি আপনার সেটআপ এই প্রি-রিকোয়াইজিটগুলি পূরণ করে, তাহলে ডকার ইনস্টলেশন মসৃণভাবে চলবে।

৩. ডকার ইঞ্জিন ইনস্টল এবং সেটআপ করা

এই সেকশনটি উবুন্টুতে ডকার ইঞ্জিন ইনস্টল করার এবং বেসিক সেটআপ করার পদ্ধতি ব্যাখ্যা করে। অফিসিয়াল রিপোজিটরি ব্যবহার করে আপনি ডকারের সর্বশেষ এবং সবচেয়ে স্থিতিশীল ভার্সন পাবেন।

অফিসিয়াল রিপোজিটরি যোগ করা এবং আপনার সিস্টেম প্রস্তুত করা

প্রথমে, অ্যাপটে অফিসিয়াল ডকার রিপোজিটরি যোগ করুন। সব অপারেশন টার্মিনালে সম্পাদিত হয়। দয়া করে এই ধাপগুলি অনুসরণ করুন:

  1. প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করুন
    sudo apt-get update
    sudo apt-get install 
        ca-certificates 
        curl 
        gnupg 
        lsb-release
    
  1. জিপিজি কী যোগ করুন
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  1. Docker রেপোজিটরি যোগ করুন
    echo 
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
      $(lsb_release -cs) stable" | 
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

Docker Engine ইনস্টল করা

রেপোজিটরি যোগ করা হলে, Docker Engine নিজেই ইনস্টল করুন:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

ইনস্টলেশনের পরে, Docker ইনস্টল হয়েছে কিনা যাচাই করতে ভার্সন চেক করুন:

docker --version

যদি “Docker version 25.0.3, build 1234567” এর মতো আউটপুট দেখেন, তাহলে ইনস্টলেশন সফল হয়েছে।

Docker Desktop সম্পর্কে (সাপ্লিমেন্ট)

Ubuntu-তে আপনি মূলত “Docker Engine” ব্যবহার করবেন, তবে “Docker Desktop for Linux” এখন অফিসিয়ালি উপলব্ধ। যদি আপনি গ্রাফিক্যাল ইন্টারফেস চান, Docker Desktop একটি ভালো বিকল্প হতে পারে। তবে অধিকাংশ কমান্ড‑লাইন ব্যবহারকারীর জন্য Docker Engine একাই যথেষ্ট।

সমস্যার সম্মুখীন হলে

যদি “package not found” এর মতো ত্রুটি পান, রেপোজিটরি সেটিংস এবং GPG কী রেজিস্ট্রেশন পুনরায় যাচাই করুন। পুরনো Docker প্যাকেজ ইনস্টল থাকলে সংঘর্ষ হতে পারে, তাই সেকশন ২‑এর আনইনস্টল ধাপগুলো আবার চেক করুন।

৪. sudo ছাড়া Docker কমান্ড ব্যবহার করা

ইনস্টলেশনের ঠিক পরে, Docker শুধুমাত্র অ্যাডমিনিস্ট্রেটর অধিকার (sudo) দিয়ে ব্যবহার করা যায়। প্রতিবার sudo দিয়ে কমান্ড চালানো অস্বস্তিক এবং টাইপো হলে ঝুঁকি বাড়াতে পারে।
একটি সুপারিশকৃত পদ্ধতি হল আপনার ইউজার অ্যাকাউন্টকে “docker গ্রুপ”‑এ যোগ করা, যাতে sudo ছাড়াই নিরাপদে ও স্বাচ্ছন্দ্যে Docker ব্যবহার করা যায়।

আপনার ইউজারকে Docker গ্রুপে যোগ করার পদ্ধতি

  1. আপনার ইউজারকে docker গ্রুপে যোগ করুন
    নিচের কমান্ডটি চালিয়ে বর্তমান ইউজারকে docker গ্রুপে যোগ করুন: ($USER স্বয়ংক্রিয়ভাবে আপনার বর্তমান ইউজারনেম দিয়ে প্রতিস্থাপিত হবে।)
    sudo usermod -aG docker $USER
    
  1. পরিবর্তনগুলি করুন
    গ্রুপে যোগ করার পরে প্রভাব দেখতে আপনাকে লগ আউট করে আবার লগ ইন করতে হবে। সবচেয়ে সহজ উপায় হল একবার লগ আউট করে পুনরায় লগ ইন করা।

যদি আপনি পরিবর্তনগুলো তৎক্ষণাৎ কার্যকর করতে চান, তাহলে নিচের কমান্ডও ব্যবহার করতে পারেন:

newgrp docker
  1. যাচাই করুন
    sudo ছাড়া Docker কমান্ড চালানো যায় কিনা পরীক্ষা করুন। উদাহরণস্বরূপ, নিচের কমান্ডটি চালিয়ে ভার্সন প্রদর্শিত হয় কিনা নিশ্চিত করুন:
    docker version
    

নিরাপত্তা সংক্রান্ত নোট

আপনার ইউজারকে docker গ্রুপে যোগ করলে sudo প্রয়োজন না থাকলেও, এটি উল্লেখযোগ্য অধিকার প্রদান করে। মাল্টি‑ইউজার সিস্টেমে docker গ্রুপের সদস্যতা সম্পর্কে সতর্ক থাকুন।
ব্যক্তিগত ব্যবহার বা ডেভেলপমেন্ট পরিবেশে সাধারণত সমস্যা হয় না, তবে প্রোডাকশন সার্ভারে আপনার প্রতিষ্ঠানের নীতি মেনে চলা গুরুত্বপূর্ণ।

এই ধাপগুলো সম্পন্ন করলে Docker ব্যবহার করা অনেক সহজ হবে।

৫. Docker ডিমন শুরু ও পরিচালনা করা

Docker ব্যাকগ্রাউন্ড প্রক্রিয়া “ডিমন” (dockerd) হিসেবে চলে।
ইনস্টলেশনের পরে Docker ডিমন স্বয়ংক্রিয়ভাবে শুরু হওয়ার জন্য সেট করা থাকে, তবে আপনি ম্যানুয়ালি শুরু, বন্ধ বা রিবুটে স্টার্টআপ আচরণ পরিবর্তন করতে চাইতে পারেন। Ubuntu-তে Docker ডিমন কীভাবে পরিচালনা করবেন তা নিচে দেওয়া হল।

Docker ডিমন শুরু, বন্ধ ও রিস্টার্ট করা

systemctl কমান্ড ব্যবহার করে সহজেই Docker শুরু বা বন্ধ করা যায়।

  • শুরু করুন
    sudo systemctl start docker
    
  • বন্ধ করুন
    sudo systemctl stop docker
    
  • রিস্টার্ট করুন
    sudo systemctl restart docker
    
  • স্ট্যাটাস চেক করুন
    sudo systemctl status docker
    

এই কমান্ডটি বর্তমান স্ট্যাটাস এবং কোনো ত্রুটি বার্তা প্রদর্শন করে।

অটো-স্টার সক্রিয়/নিষ্ক্রিয় করা (বুটে)

Ubuntu-তে আপনি সার্ভার রিবুটে Docker স্বয়ংক্রিয়ভাবে শুরু করার জন্য সেট করতে পারেন।
ইনস্টলেশনের পরে সাধারণত ডিফল্টভাবে এটি সক্রিয় থাকে, তবে সেটিং চেক ও পরিবর্তন করার পদ্ধতি নিচে দেওয়া হল:

  • অটো-স্টার্ট সক্রিয় করুন
    sudo systemctl enable docker
    
  • অটো-স্টার্ট নিষ্ক্রিয় করুন
    sudo systemctl disable docker
    

যদি আপনি Docker ম্যানুয়ালি শুরু করতে চান, উদাহরণস্বরূপ ডেভেলপমেন্ট বা টেস্টিং পরিবেশে, তখন এই বিকল্পটি ব্যবহার করুন।

নোট: আপনি service কমান্ডও ব্যবহার করতে পারেন

পুরনো Ubuntu সংস্করণে অথবা যদি আপনি পছন্দ করেন, আপনি service docker start এর মতো কমান্ড ব্যবহার করতে পারেন। তবে, এখন systemctl ব্যবহার করার পরামর্শ দেওয়া হয়।

সমস্যার সমাধানের টিপস

  • যদি Docker ডেমন শুরু না হয়, sudo systemctl status docker দিয়ে ত্রুটি পরীক্ষা করুন।
  • ত্রুটি হতে পারে অনুপস্থিত নির্ভরশীলতা বা ভুল কার্নেল সেটিংসের কারণে।
  • লগ দেখতে journalctl -u docker ব্যবহার করুন।

এভাবে, আপনি Ubuntu-তে Docker ডেমন শুরু ও পরিচালনার মৌলিক বিষয়গুলো আচ্ছাদিত করেছেন।

6. Ubuntu কন্টেইনার কীভাবে চালু করবেন

এখন, চলুন Ubuntu-তে “Ubuntu কন্টেইনার” চালু করার প্রক্রিয়া দেখি।
Docker ইনস্টল করার পরে এখনও কোনো কন্টেইনার চলমান নেই। স্ট্যান্ডার্ড ওয়ার্কফ্লো হল আপনার পছন্দের OS বা অ্যাপ্লিকেশনের “কন্টেইনার ইমেজ” সংগ্রহ করা, তারপর তা চালু করা। এখানে আমরা সহজ উদাহরণ হিসেবে অফিসিয়াল Ubuntu ইমেজ ব্যবহার করব।

1. Ubuntu ইমেজ ডাউনলোড (pull)

প্রথমে Docker Hub (অফিসিয়াল ইমেজ রেপোজিটরি) থেকে Ubuntu ইমেজ ডাউনলোড করুন।
আপনি “22.04” এর মতো একটি ভার্সন নির্দিষ্ট করতে পারেন অথবা সর্বশেষ (যদি নির্দিষ্ট না করা হয়) ব্যবহার করতে পারেন।

docker pull ubuntu:22.04

অথবা

docker pull ubuntu

উভয়ই বৈধ, তবে স্পষ্টভাবে ভার্সন নির্দিষ্ট করা সুপারিশ করা হয়।

2. নতুন Ubuntu কন্টেইনার চালু করুন (run)

ডাউনলোড করা ইমেজ ব্যবহার করে একটি Ubuntu কন্টেইনার শুরু করুন।
সবচেয়ে মৌলিক কমান্ড হল:

docker run -it --name myubuntu ubuntu:22.04 /bin/bash
  • -it : ইন্টারেক্টিভ মোড (শেল অ্যাক্সেসের জন্য)
  • --name myubuntu : কন্টেইনারের নাম নির্ধারণ (ঐচ্ছিক)
  • ubuntu:22.04 : ব্যবহারযোগ্য ইমেজ
  • /bin/bash : শুরু করার সময় চালানোর কমান্ড (bash শেল)

এই কমান্ডটি আপনাকে কন্টেইনারের ভিতরে bash ব্যবহার করে Ubuntu পরিবেশে প্রবেশ করতে দেয়।

3. ব্যাকগ্রাউন্ডে চালানো

সার্ভার ব্যবহারের জন্য অথবা কন্টেইনারটি চলমান রাখতে চাইলে ব্যাকগ্রাউন্ড অপশন (-d) ব্যবহার করুন:

docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null

এই উদাহরণে, কন্টেইনারটি কিছু না করে চলমান থাকবে।

4. কন্টেইনার বন্ধ ও পুনরায় চালু করা

  • কন্টেইনার বন্ধ করতে
    docker stop myubuntu
    
  • আবার চালু করতে
    docker start myubuntu
    

5. স্ট্যাটাস চেক করা

  • চলমান কন্টেইনারের তালিকা
    docker ps
    
  • বন্ধসহ সব কন্টেইনার দেখাতে
    docker ps -a
    

সারাংশ

এই অধ্যায়ে “Ubuntu ইমেজ ডাউনলোড” থেকে “কন্টেইনার চালু করা” এবং মৌলিক ব্যবনা পর্যন্ত প্রক্রিয়া ব্যাখ্যা করা হয়েছে। নিজে চেষ্টা করুন এবং Docker-এর সুবিধা অনুভব করুন।

7. কন্টেইনার ব্যবস্থাপনার জন্য অপরিহার্য Docker কমান্ডগুলো

Docker-এর মূল সুবিধা হল এর নমনীয় অপারেশন: আপনি সহজে কন্টেইনার তৈরি, বন্ধ এবং মুছে ফেলতে পারেন।
এই অধ্যায়ে Ubuntu কন্টেইনার পরিচালনা ও চাল জন্য আপনি প্রায়ই ব্যবহার করবেন এমন মৌলিক কমান্ডগুলো সংক্ষেপে উপস্থাপন করা হয়েছে।
নিয়মিত এই কমান্ডগুলো অনুশীলন করুন যাতে স্বাচ্ছন্দ্যবোধ করেন।

কন্টেইনার তালিকা করা

  • চলমান কন্টেইনারের তালিকা
    docker ps
    
  • বন্ধসহ সব কন্টেইনারের তালিকা
    docker ps -a
    

কন্টেইনার শুরু, বন্ধ ও পুনরায় চালু করা

  • কন্টেইনার শুরু করা
    docker start [container name or ID]
    
  • কন্টেইনার বন্ধ করা
    docker stop [container name or ID]
    
  • কন্টেইনার পুনরায় চালু করা
    docker restart [container name or ID]
    

কন্টেইনারে সংযোগ ও অপারেশন করা

  • চলমান কন্টেইনারে কমান্ড চালানো (exec)
    docker exec -it [container name or ID] /bin/bash
    

কন্টেইনার মুছে ফেলা

  • কন্টেইনার মুছে ফেলা
    docker rm [container name or ID]
    
  • জোরপূর্বক মুছে ফেলা (যদি চলমান থাকে তবুও)
    docker rm -f [container name or ID]
    

ইমেজ মুছে ফেলা

  • ব্যবহার না করা ইমেজ চেক করা
    docker images
    
  • একটি ইমেজ মুছে ফেলা
    docker rmi [image name or ID]
    

অন্যান্য উপকারী কমান্ড

  • লগ চেক করা
    docker logs [container name or ID]
    
  • ডিস্ক ব্যবহার চেক করা
    docker system df
    

মূল বিষয়গুলো

  • docker ps, docker start, docker stop, এবং docker exec এর মতো মৌলিক কমান্ড জানলে দৈনন্দিন অপারেশন ও সমস্যার সমাধান সহজ হয়।
  • ডিস্ক স্পেস কার্যকরভাবে পরিচালনা করতে নিয়মিত ব্যবহার না করা কন্টেইনার ও ইমেজ মুছে ফেলুন।

8. সমস্যার সমাধান ও প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

ডকার বা উবুন্টু কন্টেইনারগুলি চালানোর সময়, আপনি অপ্রত্যাশিত সমস্যা বা ত্রুটির সম্মুখীন হতে পারেন। এই অধ্যায়ে “উবুন্টু ডকার কন্টেইনার শুরু করা” সম্পর্কিত সাধারণ সমস্যাগুলি এবং তাদের সমাধান কভার করা হয়েছে।

সাধারণ সমস্যা এবং সমাধান

১. “Cannot connect to the Docker daemon” ত্রুটি

এই ত্রুটি প্রায়শই ঘটে যদি ডকার ডেমন (dockerd) চলমান না থাকে বা অনুমতি সমস্যা থাকে।

  • সমাধান:
  1. ডকার ডেমন চলমান কিনা চেক করুন: sudo systemctl status docker
  2. যদি এটি চলমান না থাকে, তাহলে এটি শুরু করুন: sudo systemctl start docker
  3. যদি আপনার sudo প্রয়োজন হয়, তাহলে এটি যোগ করুন, অথবা বিভাগ ৪-এ বর্ণিতভাবে আপনার ব্যবহারকারীকে docker গ্রুপে যোগ করুন।

২. পুরনো ডকার প্যাকেজের সাথে দ্বন্দ্ব

যদি আপনি আগে “docker,” “docker.io,” বা “docker-engine” এর মতো প্যাকেজ ইনস্টল করেছেন, তাহলে দ্বন্দ্ব ঘটতে পারে এবং সমস্যা সৃষ্টি করতে পারে।

  • সমাধান: পুরনো প্যাকেজগুলি আনইনস্টল করুন।
    sudo apt-get remove docker docker-engine docker.io containerd runc
    

৩. কন্টেইনার শুরু করতে ব্যর্থ হয়

এটি ইমেজের নাম বা কমান্ডে টাইপোর কারণে বা রিসোর্সের অভাবের (মেমরি/ডিস্ক) কারণে হতে পারে।

  • সমাধান:
  • ইমেজের নাম বা কমান্ডে টাইপোর জন্য চেক করুন।
  • docker images ব্যবহার করে যাচাই করুন যে ইমেজটি বিদ্যমান।
  • সার্ভারের উপলব্ধ ডিস্ক স্পেস এবং মেমরি চেক করুন।

৪. পোর্ট দ্বন্দ্ব ত্রুটি

যদি আপনি একটি ইতিমধ্যে ব্যবহৃত পোর্টে কন্টেইনার চালু করার চেষ্টা করেন, তাহলে ত্রুটি ঘটবে।

  • সমাধান:
  • একটি ভিন্ন পোর্ট নম্বর নির্দিষ্ট করুন।
  • বিদ্যমান প্রক্রিয়া বন্ধ করুন।

৫. রুটলেস মোডের নোট

ডকারের সাম্প্রতিক সংস্করণগুলি “রুটলেস” মোড সমর্থন করে, যা আপনাকে রুট প্রিভিলেজ ছাড়াই ডকার চালানোর অনুমতি দেয়, কিন্তু এতে সীমাবদ্ধতা রয়েছে। বিস্তারিত জানার জন্য অফিসিয়াল ডকুমেন্টেশন এবং ত্রুটি বার্তাগুলি দেখুন।

ব্যবহারিক চেকলিস্ট

  • কন্টেইনারের স্থিতি চেক করার জন্য docker ps -a ব্যবহার করুন
  • ত্রুটির বিস্তারিত চেক করার জন্য docker logs [container name] ব্যবহার করুন
  • সিস্টেম-ব্যাপী ডকার লগ পর্যালোচনা করার জন্য journalctl -u docker ব্যবহার করুন

মূল পয়েন্টসমূহ

অধিকাংশ ডকার সমস্যা “অনুমতি,” “সংস্করণ দ্বন্দ্ব,” বা “কনফিগারেশন ত্রুটি” সম্পর্কিত।
যদি আপনি সমস্যার সম্মুখীন হন, তাহলে ত্রুটি বার্তাগুলি সতর্কতার সাথে পড়ুন, এবং প্রয়োজনে পুনরায় ইনস্টল করুন বা আপনার সেটআপ পর্যালোচনা করুন।

৯. সারাংশ এবং পরবর্তী পদক্ষেপসমূহ

এই নিবন্ধটি “উবুন্টুতে ডকার ইনস্টল করা এবং উবুন্টু কন্টেইনার চালু করা” সম্পর্কিত একটি বিস্তারিত গাইড প্রদান করেছে।
চলুন মূল পয়েন্টগুলি পর্যালোচনা করি এবং আরও শিক্ষা এবং ব্যবহারের জন্য কিছু টিপস সাজেস্ট করি।

এই নিবন্ধের সারাংশ

  • ডকারের ওভারভিউ এবং উপকারিতা উবুন্টুর সাথে উচ্চ সামঞ্জস্যতা এবং যেকোনো জায়গায় দ্রুত পরিবেশ পুনরুত্পাদনের ক্ষমতা।
  • সেটআপের আগে প্রস্তুতি এবং মূল পয়েন্টসমূহ উবুন্টু সংস্করণ, হার্ডওয়্যার প্রয়োজনীয়তা, অনুমতি, এবং পুরনো প্যাকেজগুলি পরিষ্কার করা।
  • ডকার ইঞ্জিন ইনস্টল করার পদ্ধতি অফিসিয়াল রিপোজিটরি ব্যবহার করে সর্বশেষ এবং নিরাপদ ডকার ইনস্টল করুন।
  • sudo ছাড়া চালানো এবং ডেমন পরিচালনা আপনার ব্যবহারকারীকে docker গ্রুপে যোগ করা এবং অটো-শুরু/বন্ধের জন্য systemctl ব্যবহার করা।
  • উবুন্টু কন্টেইনার চালু করার পদ্ধতি এবং মূল কমান্ড ব্যবহার কন্টেইনার তৈরি, পরিচালনা এবং চালানোর জন্য মৌলিক অপারেশন।
  • সাধারণ সমস্যা এবং সমাধান অনুমতি, সংস্করণ দ্বন্দ্ব এবং অন্যান্য ঘন ঘন সমস্যার সাথে মোকাবিলা।

পরবর্তী পদক্ষেপসমূহ এবং উন্নত ব্যবহার

ডকারে দক্ষতা অর্জনের প্রথম ধাপ হলো কন্টেইনার চালু করা এবং মৌলিক কমান্ড ব্যবহারে অভ্যস্ত হওয়া। একবার আপনি স্বাচ্ছন্দ্য বোধ করলে, আরও উন্নত অপারেশন চেষ্টা করুন:

  • Dockerfile দিয়ে কাস্টম কন্টেইনার তৈরি শুধুমাত্র ইমেজ ব্যবহারের বাইরে গিয়ে, আপনার প্রয়োজন অনুসারে কাস্টমাইজড ইমেজ তৈরি করুন।
  • Docker Compose দিয়ে একাধিক কন্টেইনার পরিচালনা একসাথে একাধিক সার্ভিস (যেমন, ওয়েব + ডিবি) সহজেই শুরু এবং পরিচালনা করুন।
  • ভলিউম এবং নেটওয়ার্ক ফিচারগুলি ব্যবহার ডেটা স্থায়ী করুন এবং একাধিক কন্টেইনারের মধ্যে যোগাযোগ পরিচালনা করুন।
  • Kubernetes-এর মতো অর্কেস্ট্রেশন টুলস ব্যবহার বড়-স্কেল পরিচালনা এবং অটো-স্কেলিংয়ের সাথে আপনার ক্লাউড অপারেশনকে পরবর্তী স্তরে নিন।

চূড়ান্ত চিন্তাভাবনা

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

10. FAQ

এই অংশে পাঠকদের “Ubuntu Docker কন্টেইনার শুরু করা” এবং এই প্রবন্ধের বিষয়বস্তু সম্পর্কিত প্রায়শই জিজ্ঞাসিত প্রশ্নগুলোর উত্তর দেওয়া হয়েছে।
আমরা নবীনদের জন্য সাধারণ সমস্যাগুলো এবং বাস্তব ব্যবহারে প্রায়োগিক উদ্বেগগুলোতে ফোকাস করেছি।

Q1. আমি কি Ubuntu Desktop এবং Ubuntu Server উভয়েই Docker ব্যবহার করতে পারি?

A.
হ্যাঁ, Docker উভয়েই কাজ করে। কমান্ড এবং ধাপগুলো বেশিরভাগই একই, তবে প্রোডাকশনের জন্য সাধারণত Ubuntu Server সুপারিশ করা হয় কারণ এতে GUI নেই, ফলে রিসোর্স ব্যবহার কম হয়।

Q2. Ubuntu-তে কি Docker Desktop দরকার?

A.
না, “Docker Engine” একাই Ubuntu-তে যথেষ্ট। Docker একটি GUI ম্যানেজমেন্ট টুল, তবে লিনাক্স (Ubuntu)-এ কমান্ড লাইন সাধারণত পছন্দ করা হয় এবং সমস্যার সম্ভাবনা কম। যদি আপনি শেখা বা ম্যানেজমেন্টের জন্য GUI পছন্দ করেন, তবে Docker Desktop ব্যবহার করতে পারেন।

Q3. রুটলেস মোড কী?

A.
রুটলেস মোড আপনাকে Docker রুট (অ্যাডমিনিস্ট্রেটর) অধিকার ছাড়াই চালাতে দেয়। এটি সিকিউরিটি বাড়াতে বা মাল্টি-ইউজার পরিবেশে উপকারী। তবে কিছু ফিচার সীমাবদ্ধ থাকতে পারে, তাই আপনার চাহিদা ও নীতিমালার ভিত্তিতে নির্বাচন করুন।

Q4. কন্টেইনারের জন্য কীভাবে স্থায়ী স্টোরেজ প্রদান করা যায়A.

আপনি “volumes” অথবা “bind mounts” ব্যবহার করে ডেটা কন্টেইনার মুছে ফেললেও হারিয়ে না যায় তা নিশ্চিত করতে পারেন।

উদাহরণ:

docker run -v /host/path:/container/path ubuntu:22.04

এই কমান্ডটি আপনার হোস্টের একটি ডিরেক্টরিকে কন্টনারের ভিতরের ডিরেক্টরির সাথে লিঙ্ক করে।

Q5. কন্টেইনার বা Docker ডিমনকে কীভাবে স্বয়ংক্রিয়ভাবে চালু করা যায়?

A.
Docker ডিমনকে স্বয়ংক্রিয়ভাবে চালু করতে sudo systemctl enable docker ব্যবহার করুন, যেমন সেকশন 5-এ বর্ণনা করা হয়েছে।
বুটের সময় নির্দিষ্ট কন্টেইনারকে অটো-স্টার্ট করতে, কন্টেইনার তৈরি করার সময় --restart=unless-stopped এর মতো অপশন করুন।

উদাহরণ:

docker run --restart=unless-stopped -d --name myubuntu ubuntu:22.04 tail -f /dev/null

Q6. আমি কি Ubuntu-তে অন্য OS-এর Docker ইমেজ চালাতে পারি?

A.
হ্যাঁ, যতক্ষণ ইমেজটি একই CPU আর্কিটেকচার (Linux) এর জন্য হয়। Windows-নির্দিষ্ট বা অন্য আর্কিটেকচারের ইমেজ Ubuntu-তে চলবে না।

Q7. কীভাবে অপ্রয়োজনীয় ইমেজ বা কন্টেইনার পরিষ্কার করা যায়?

A.
অপ্রয়োজনীয় কন্টেইনার বা ইমেজ docker rm অথবা docker rmi দিয়ে মুছে ফেলুন। আরও সম্পূর্ণভাবে পরিষ্কার করতে নিচের কমান্ডগুলো ব্যবহার করুন:

  • সব বন্ধ কন্টেইনার মুছে ফেলুন
    docker container prune
    
  • অপ্রয়োজনীয় ইমেজ মুছে ফেলুন
    docker image prune
    
  • সব অপ্রয়োজনীয় ডেটা একসাথে পরিষ্কার করুন
    docker system prune
    

Q8. সমস্যার সম্মুখীন হলে কোথায় সাপোর্ট বা তথ্য পাওয়া যাবে?

A.
অফিসিয়াল Docker ডকুমেন্টেশন (<://docs.docker.com/>) দেখুন অথবা ডেভেলপার কমিউনিটি যেমন Stack Overflow এবং Qiita চেক করুন। ত্রুটি বার্তা সরাসরি সার্চ করাও প্রায়শই কার্যকর।

Q9. Docker Compose বা অন্যান্য মাল্টি-কন্টেইনার টুল কীভাবে শিখতে পারি?

A.
Docker Compose একাধিক কন্টেইনার ম্যানেজ করার জন্য একটি সুবিধাজনক টুল। শিখতে অফিসিয়াল ডকুমেন্টেশন, টিউটোরিয়াল এবং নমুনা docker-compose.yml ফাইলগুলো দেখুন, এবং প্র্যাকটিসে ব্যবহার করে দেখুন।

Q10. Docker কি সর্বশেষ Ubuntu ভার্সন (যেমন 24.04) এ সাপোর্টেড?

A.
হ্যাঁ, Docker অফিসিয়ালি সর্বশেষ LTS ভার্সনগুলোকে সাপোর্ট করে। সর্বশেষ রেপোজিটরি ও প্যাকেজ ব্যবহার করে আপনি সর্বদা স্থিতিশীল অপারেশন উপভোগ করতে পারবেন।