সরাসরি প্রধান সামগ্রীতে চলে যান

Docker Cleanup & Optimize Guideline Bangla


🐳 Docker Cleanup & Image Optimization Guide

এই ডকুমেন্টে বর্ণনা করা হয়েছে কিভাবে নিরাপদভাবে (safe way) Docker image, container, network, cache cleanup করা যায় এবং image size optimize করা যায়।


🧹 ১️⃣ Basic Image Cleanup

শুধুমাত্র unused <none> (dangling) image মুছে ফেলবে।

docker image prune -f

📘 ব্যাখ্যা:

  • এই কমান্ড কোনো running container বা tag করা image কে delete করবে না।
  • শুধুমাত্র intermediate, unused image layer গুলো remove করবে।

Safe Command – production environment এ ব্যবহার করা যায়।


🧼 ২️⃣ Full System Cleanup

👉 নিচের কমান্ডে Docker-এর সব unused resource (container, network, image, cache) remove করবে।

docker system prune -a -f

⚠️ WARNING: 🚨 এই কমান্ডে:

  • সব unused image (tag করা হলেও যদি container না থাকে) delete হয়ে যাবে।
  • সব stopped container delete হবে।
  • সব unused network delete হবে।
  • সব build cache delete হবে।

🛑 Production environment এ কখনও চালিও না, শুধুমাত্র local dev/test machine এ।


🔍 ৩️⃣ নির্দিষ্ট Image Delete করা

docker rmi IMAGE_ID

উদাহরণ:

docker rmi 0f0fdca762cc a42d8dd6070a

📘 Tip:

  • delete করার আগে docker ps -a দিয়ে দেখো container ওই image ব্যবহার করছে কিনা।

🪶 ৪️⃣ Build Cache Cleanup

docker builder prune -f

Safe Command এটা শুধু build cache remove করবে, image নয়।


⚙️ ৫️⃣ Image Optimization Tips

| কাজ | উদ্দেশ্য | | --------------------------------- | -------------------------------------------------------------------- | | 🧱 Multistage build | build + runtime stage আলাদা করে ছোট image তৈরি করে | | 📄 .dockerignore ব্যবহার | অপ্রয়োজনীয় ফাইল (node_modules, target, .git ইত্যাদি) বাদ দেয় | | 🧩 Slim base image ব্যবহার | যেমন eclipse-temurin:21-jre বা openjdk:21-jdk-slim | | 🔄 Regular prune চালাও | build শেষে cleanup রাখো | | 🧰 Shared network ব্যবহার করো | একাধিক container এক network এ যুক্ত করো external: true ব্যবহার করে |


🌐 ৬️⃣ Example: Network Sharing

যদি তোমার PostgreSQL আলাদা container হয় এবং Spring Boot app connect করতে চাও 👇

networks:
  postgres-network:
    external: true
    name: postgres_default

services:
  app:
    image: blogger-app-image
    build: .
    networks:
      - postgres-network

🧾 ৭️⃣ Recommended Maintenance Commands

| কাজ | Command | নিরাপত্তা | | --------------------- | --------------------------- | --------------------- | | Dangling image clean | docker image prune -f | ✅ Safe | | Build cache clean | docker builder prune -f | ✅ Safe | | সব কিছু clean | docker system prune -a -f | ⚠️ Risky (Local only) | | Specific image delete | docker rmi <id> | ⚠️ Check before use |


মন্তব্যসমূহ