نحن نقوم بتغليف وتوزيع تطبيق ويب، ونشعر بالحاجة إلى الانتقال من طريقة النشر عبر حزم deb/rpm إلى استخدام الحاويات (containers) للتحكم في إصدارات التبعيات (مثل وجود إصدار أحدث من Python على توزيعات قديمة).
لقد استعرضت خيارات LXC وLXD، ويبدو أنهما خياران جذابان للطريقة القديمة في تطوير التطبيقات التي تخزن الحالة داخل الحاوية. لكننا بحاجة أيضًا إلى النشر على أنظمة RHEL/CentOS، وحالة حزم LXC وLXD على هذه الأنظمة تبدو سيئة للغاية. كما لا يبدو أن هناك مستقبلًا لـ LXD أو LXC في عالم RHEL.
لقد قاومت استخدام Docker إلى حد ما بسبب مشاكل التصميم والأمان التي واجهتها على مر السنين، وكذلك بسبب التحول المفاهيمي نحو الحاويات الخالية من الحالة (stateless) الذي يجب أن نتبناه نحن من الجيل القديم.
هل أصبحت Docker الآن منصة موثوقة للنشر في بيئات الإنتاج الصغيرة والكبيرة حيث يكون وقت تشغيل التطبيق أمرًا بالغ الأهمية؟
وما هي أفضل الممارسات لتغليف وتوزيع التطبيقات باستخدام Docker؟
بما أن Discourse يُنشر حصريًا باستخدام Docker، وأنا متأكد من أنه يُستخدم في نشرات كبيرة، يبدو أنه المكان الأنسب لطرح هذا السؤال.