Skip to content

Troubleshooting Docker (ডকার ট্রাবলশুটিং)

ডকার ব্যবহার করার সময় বিভিন্ন ধরণের সমস্যা বা এরর (Error) আসা খুব স্বাভাবিক। এই গাইডটিতে আমরা ডকারের কমন সমস্যাগুলো এবং সেগুলো সমাধান করার উপায় নিয়ে আলোচনা করব।

১. কন্টেইনার চালু না হওয়া (Container Won't Start)

যদি কোনো কন্টেইনার রান করার সাথে সাথে বন্ধ হয়ে যায় (Exited), তবে কারণ খুঁজতে নিচের কমান্ডটি ব্যবহার করুন:

bash
docker logs <container_id_or_name>

কমন কারণ:

  • Entrypoint Script Error: যদি আপনার করা স্ক্রিপ্টে কোনো সিনট্যাক্স ভুল থাকে।
  • Missing Environment Variables: প্রয়োজনীয় এনভায়রনমেন্ট ভেরিয়েবল না দেওয়া।
  • Port Conflict: একই পোর্টে অন্য কোনো সার্ভিস সচল থাকা।

২. নেটওয়ার্ক সমস্যা (Network Issues)

কন্টেইনার যদি বাইরে থেকে এক্সেস করা না যায় বা এক কন্টেইনার থেকে অন্য কন্টেইনারে পিং (Ping) না যায়:

  • Exposed Ports: নিশ্চিত করুন আপনি docker run করার সময় সঠিক পোর্ট ম্যাপ করেছেন (-p 8080:80)।
  • Docker Network: কন্টেইনারগুলো একই নেটওয়ার্কে আছে কিনা তা দেখতে docker network inspect <network_name> চেক করুন।
  • DNS Issues: কন্টেইনারের ভেতর থেকে nslookup google.com দিয়ে চেক করুন কন্টেইনারটি ইন্টারনেট পাচ্ছে কিনা।

৩. ভলিউম এবং পারমিশন সমস্যা (Volume & Permissions)

মাউন্ট করা ভলিউমে রাইট (Write) করতে সমস্যা হলে:

  • User ID Mismatch: কন্টেইনার যদি 'root' না হয়ে অন্য ইউজার হিসেবে চলে, তবে হোস্টের ফোল্ডারে তার রাইট পারমিশন নাও থাকতে পারে।
  • Solution: হোস্টে ওই ফোল্ডারের পারমিশন চেক করুন এবং প্রয়োজনে chmod বা chown ব্যবহার করুন।

৪. রিসোর্স সমস্যা (Resource Exhaustion)

যদি কন্টেইনার খুব স্লো চলে বা ক্রাশ করে:

  • docker stats: এই কমান্ড দিয়ে দেখুন কন্টেইনারটি কতটুকু মেমোরি বা CPU ব্যবহার করছে।
  • OOM Kill: যদি কন্টেইনার হঠাৎ মারা যায়, তবে বুঝবেন মেমোরি শেষ হয়ে যাওয়ার কারণে (Out of Memory) সিস্টেম এটিকে কিল করেছে।

৫. ডিবাগিং টেকনিক (Debugging Techniques)

কন্টেইনারের ভেতরে ঢোকা

সমস্যা দেখার জন্য কন্টেইনারের ভেতরে ঢুকে ফাইল চেক করা সবচেয়ে কার্যকর পদ্ধতি:

bash
docker exec -it <container_id> sh

বিস্তারিত ডিটেইলস দেখা

ইমেজ বা কন্টেইনারের ইন্টারনাল কনফিগারেশন দেখতে:

bash
docker inspect <container_id>

৬. কমন এরর মেসেজ (Common Error Messages)

  1. "no space left on device": আপনার ডকার ইমেজে বা কন্টেইনারে জায়গা নেই। docker system prune দিয়ে অপ্রয়োজনীয় ডাটা ডিলিট করুন।
  2. "daemon not running": ডকার সার্ভিসটি স্টার্ট করা নেই।
  3. "context deadline exceeded": নেটওয়ার্ক স্লো বা ডাটা পুল করতে অনেক সময় লাগছে।

সারাংশ

ট্রাবলশুটিংয়ের সময় মনে রাখবেন: Logs never lie! সবসময় আগে লগ চেক করুন, তারপর ডিবাগিং কমান্ডগুলো ব্যবহার করুন।

Released under the MIT License.