الآخر

Cheat Sheet: لو المشكلة… فكّر في…

One-page recall for Docker
🎯 الهدف: تفتكر الأوامر والحلول من غير ما ترجع للفصول.
"على جهازي شغالة"اعمل image فيها كل حاجة وشغّلها في أي حتة
عايز OS مختلف تمامًا أو عزل hardwareVM مش container
image من Docker تشتغل على Podman؟أيوه، الاتنين ماشيين على OCI
container واكل الـ RAM كلهcgroups: --memory و --cpus
عايز shell جوه imagedocker run -it --rm IMAGE sh
عايز تدخل container شغالdocker exec -it NAME sh
شغال في الخلفية ومش شايف حاجةdocker logs -f NAME
مش قادر توصل للتطبيق من المتصفح-p HOST:CONTAINER. والتطبيق يسمع على 0.0.0.0 مش 127.0.0.1
الداتا ضاعت لما مسحت الـ containernamed volume على مسار الداتا
عايز تعديل الكود يبان فورًاbind mount أو docker compose watch
الـ build بيعيد npm install كل مرةانسخ package files وشغّل install قبل COPY . .
الـ image كبيرة جدًاalpine أو slim + multi-stage + .dockerignore
.env اتنسخ جوه الـ imageضيفه لـ .dockerignore
React مش شايف متغيّر البيئة الجديدمتغيّرات Vite وقت الـ build، مش -e
الـ api مش لاقي الـ db في composeاستخدم اسم الـ service db مش localhost
الـ api بيقوم قبل ما Postgres يجهزhealthcheck + condition: service_healthy
عايز تمسح الداتا وتبدأ من الأولdocker compose down -v
الهارد اتملىdocker system prune (واقرا هيمسح إيه)

خلّصت المذكرة لما

🧠 اختبر نفسك
١) image ولا container: أنهي اللي read-only؟
الـ image. الـ container طبقة كتابة فوقها.
٢) volume ولا bind mount لداتا database؟
named volume.
٣) compose ولا Kubernetes لمشروع على سيرفر واحد؟
compose كفاية. Kubernetes لما يبقى عندك cluster.