🐳 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 |
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন
আপনার সমস্যাটি কমেন্ট করে আমাদের জানান :-d