الأسرار والبيئة والإعدادات
يجب أن يعمل الـ image نفسه في dev و staging و production — لكن كلمات المرور والمفاتيح تختلف في كل بيئة، ويجب ألا تدخل الـ image أبدًا. في هذا الدرس نميّز بين ARG، الذي يوجد فقط في وقت الـ build، وبين ENV، الذي يبقى داخل الـ image وفي وقت التشغيل. سنرى لماذا يتسرّب سرٌّ كُتب داخل layer إلى الأبد عبر
الإعدادات مثل بطاقة وصفة يمكنك مشاركتها مع الجميع. أما السر فهو مثل مفتاح بيتك — لا تلصقه أبدًا على الوصفة وتوزّعه على الكل.
- ARG
- قيمة متاحة فقط أثناء بناء الـ image. بمجرد انتهاء الـ build تختفي ولا توجد في وقت التشغيل. مفيدة لمعاملات البناء، وليست للإعدادات المطلوبة في وقت التشغيل.
- ENV
- متغيّر بيئة يُكتب داخل الـ image ويبقى متاحًا في وقت التشغيل. ملائم للإعدادات غير الحساسة، لكن يجب ألا يحمل أسرارًا أبدًا، لأنه يُحفظ في طبقات الـ image.
- تسرّب السر
- تسرّب بيانات حساسة لأنها كُتبت داخل layer من الـ image. كل layer يُحفظ في التاريخ، لذا فإن سرًّا كُتب مرة واحدة يكون متاحًا لأي شخص يسحب الـ image — حتى لو 'حذفته' طبقة لاحقة.