⬇️ حمّل compose المثال (YML) ⬇️ حمّل Dockerfile المثال ⬇️ المذكرة المساعدة لـ Docker (TXT)
ثبّت Docker، وتحقق من hello-world، وأنشئ المجلد projet/mon-app مع api/ وcompose.yml و.github/workflows. يجب أن يكون طقس run/ps/stop/rm سلسًا.
شغّل postgres:16.4 مع المجلد pgdata على الشبكة monapp (دون نشر القاعدة). شغّل adminer في ملف dev. أثبت rm + إعادة التشغيل دون فقدان والوصول بالاسم.
اكتب Dockerfile للـ api (slim، الاعتماديات أولًا، USER node، .dockerignore)، وابنِ mon-app:1.0، وافحص، وصحح حتى صفر حرج.
جمّع api (build) + قاعدة البيانات bdd (مجلد (Volume)) + adminer (ملف dev) مع DATABASE_URL كمتغير، وdepends_on بسيط ثم retry تطبيقي. تحقق من config وup --build وdown/up دون فقدان.
أضف restart + فحص الصحة (healthcheck) للقاعدة bdd + شرط healthy، ووكيلًا منشورًا وحده، ونسخة dump احتياطية + لقطة (snapshot) مختبرة، وسير عمل (Workflow) للتكامل المستمر (CI) يبني + يدفع SHA نحو GHCR.
دقق بقائمة 5.4 (8 نعم)، وجرّب Swarm في عقدة واحدة (3 نسخ (replicas))، وانشر K8s الأدنى على kind. خطط لشهادة DCA.