كيف ولماذا تشغيل Redis في Docker
نشرت: 2023-05-02Redis هي قاعدة بيانات متاحة للغاية في الذاكرة. يُعد مخزن بيانات قيمة المفتاح الثابت على القرص مثاليًا للاستخدامات المتعددة عالية التوفر.
من ناحية أخرى ، يعد Docker أداة لحاوية التطبيقات والخدمات ، وعزل بيئاتها والسماح لها بالعمل بشكل منفصل. يمكنك استخدام Docker كمدير حزم للتطبيقات والخدمات مع جميع التبعيات والتكوينات والبرامج النصية الضرورية وما إلى ذلك. يتم وضع نص برمجي يسمى Dockerfile داخل حاوية Docker ويسمح لك بنشر الحاوية ككيان واحد.
تعلمك هذه المقالة كيفية استخدام هاتين التقنيتين مفتوحتين المصدر بشكل فعال. كما أنه يتطرق إلى سبب أهمية تشغيل مجموعات Redis داخل حاويات Docker ومزايا وفوائد القيام بذلك مقارنة بتشغيل مجموعات Redis على الأجهزة الافتراضية أو الخوادم المعدنية.
الاستخدامات المختلفة لـ Redis
يتمتع Redis بالعديد من المزايا. تشمل الاستخدامات الأكثر شيوعًا ما يلي:
- الموزعة ، ذاكرة التخزين المؤقت لقاعدة البيانات ذات القيمة الأساسية
- وسيط الرسائل
- خادم التخزين المؤقت للكائنات الثابتة
بالإضافة إلى ذلك ، يمكن لـ Redis دعم أنواع وهياكل بيانات متعددة ، مما يجعلها مناسبة للاستخدام كطبقة قاعدة بيانات أولية وثانوية للتطبيقات. كما أنه يدعم القوائم ، والجداول ، والتجزئة ، والمجموعات ، وما إلى ذلك.
ومع ذلك ، يمكنك زيادة فوائد Redis عن طريق وضعها في حاويات.
Redis هو الأفضل داخل الحاوية
Redis هي واحدة من أشهر صور Docker في سجل Docker ، مع أكثر من مليار عملية تنزيل. السبب وراء وضع تطبيقات Redis في حاويات هو الحصول على مزايا Docker ودعم المجتمع لحالات استخدام Redis الأكثر شيوعًا.
تحتوي صورة Redis Docker على مجتمع مفتوح المصدر ينشئ وثائق واضحة ويحافظ عليها. علاوة على ذلك ، فإن Docker موثوق للغاية ويسهل الاستخدام والمرونة.
سهولة الاستعمال
يعزل Docker البيئات لكل من التطبيقات والخدمات التي تعمل داخل الحاويات. يعني العزل أنه يمكنك تجميع صور Redis التي تعمل بغض النظر عن نظام التشغيل المضيف وإنشاؤها وشحنها ، مما يجعل تطوير تطبيقات Redis وتشغيلها داخل Docker أمرًا سهلاً. علاوة على ذلك ، يبسط Docker Desktop إعداد بيئة تطوير محلية متسقة ، وهو أمر مفيد بشكل خاص للفرق الكبيرة.
حماية:
يمكنك البحث عن الثغرات الأمنية باستخدام Redis داخل حاوية. يستخدم Docker Snyk ، وهي أداة توفر رؤية آمنة لصور Docker. يقوم بمسح حاويات Docker ويوفر التفاصيل والعلاج في حالة وجود صور تالفة. يمكن لـ Docker أيضًا إنشاء قائمة مواد برمجية (SBOM) لمسح جميع التبعيات المستخدمة في صور حاوية المبنى ، على الرغم من أنها لا تزال تجريبية.
المرونة
يتوفر Docker لمعظم أنظمة التشغيل والتطبيقات المستندة إلى Unix و Windows. نظرًا لأنك تستخدم الحاويات لعزل البرامج عن بيئتها للتأكد من أنها تعمل مع جميع الأنظمة ، فإن تطبيقات وخدمات Redis تعمل دائمًا على الرغم من البنية التحتية.
مصداقية
يتيح لك Docker تشغيل أي عبء عمل في حاويات في أي بيئة بشكل موثوق. Redis موثوق به في Docker لأن حاويات Docker تأخذ لقطات من صورة الحاوية بشكل دوري ، مما يسمح لك بالعودة إلى هذه اللقطات في حالة وجود قاعدة بيانات تالفة أو تالفة. يمكنك أيضًا إنشاء وحدة تخزين Docker عن طريق تحميل دليل يحتوي على ملف قاعدة بيانات Redis داخل الحاوية.
يساعد حجم Docker في الحفاظ على الحاوية آمنة من أي شكل من أشكال فقدان البيانات العرضي. ومع ذلك ، هناك تحذير هو أن وحدات تخزين Docker لا تتضمن لقطات للصور. يجب عليك حفظ البيانات يدويًا أو نسخها احتياطيًا في ملف قاعدة بيانات Redis بشكل دوري.
كيفية استخدام Redis مع Docker
لوضع متجر Redis الخاص بك داخل حاوية Docker ، يجب أن يكون لديك Docker في البيئة المستهدفة. توضح لك الإرشادات التالية كيفية تثبيت Docker على Windows.
يمكنك اتباع دليل على موقع Docker على الويب لنظام التشغيل المستندة إلى Unix أو Unix. بعد التثبيت والتهيئة ، يمكنك إنشاء شبكة داخل حاوية Docker. ثم يمكنك تثبيت Redis وإنشاء قاعدة بيانات. أخيرًا ، يمكنك إجراء عمليات على قاعدة بيانات Redis الخاصة بك.
أولاً ، قم بتثبيت Docker على نظام التشغيل الخاص بك. اختياريًا ، انتقل إلى Docker Hub وأنشئ حسابًا. أنت بحاجة إلى حساب لإنشاء ونشر الصور الخاصة بك.
بعد إنشاء حساب ، سجّل الدخول إلى Docker Hub وقم بتنزيل أحدث إصدار لنظام التشغيل من Docker Desktop.
بعد إجراء التثبيت ، انتقل إلى نافذة المحطة الطرفية لمعرفة ما إذا كان Docker Engine جاهزًا للتشغيل وأدخل الأمر التالي:
docker --version
ثم اكتب: docker-compose --version
.
يعد Compose أداة لتحديد تطبيقات Docker متعددة الحاويات وتشغيلها باستخدام ملفات YAML ، والتي تستخدمها لتكوين خدمات التطبيقات.
يمكنك تشغيل Dockerized Redis للتحقق من تشغيل Docker Engine باستخدام الكود أدناه. يقوم هذا المثال بتشغيل صورة Redis من Docker Hub ويسميها my-redis-container .
docker run --name my-redis-container -d redis
نظرًا لعدم توفر الصورة محليًا ، يسحب Docker صورة Redis من Docker Hub.
الآن ، يمكنك فتح Docker Desktop لتأكيد أنه سحب صورة Redis. في لوحة المعلومات ، انقر فوق الصور في اللوحة اليمنى.
الآن ، يمكنك إنشاء شبكة. لاحظ أن برنامج تشغيل Docker يستخدم الجسر أو برامج تشغيل الشبكة المضمنة في التراكب لإنشاء شبكة Docker. يمكنك أيضًا تثبيت واستخدام برنامج تشغيل شبكة تابع لجهة خارجية.
يتمثل الاختلاف في أن شبكات الجسر معزولة في تثبيت Docker Engine واحد ، بينما تمتد شبكات التراكب عبر مضيفين Docker متعددين ، كل منهم يشغل محركًا.
يكتب:
docker network create -d bridge kinsta-demo-network
إذا لم تحدد أي برامج تشغيل بشكل افتراضي ، يستخدم Docker برنامج تشغيل الجسر لإنشاء شبكة جديدة نظرًا لأنه يقوم تلقائيًا بإنشاء برنامج تشغيل الجسر عند تثبيت Docker Engine. ومع ذلك ، إذا قمت بتشغيل حاوية Docker باستخدام أمر Docker run ، فلن تستخدم هذه الشبكة.
الآن بعد أن أصبحت لديك شبكة ، فإن تثبيت Redis داخل حاوية Docker هو التالي. للقيام بذلك ، اكتب: docker pull redis
.
للتحقق من تثبيت صورة Redis بشكل صحيح ، قم بتشغيل أحد الأوامر التالية:
docker images
docker image ls
بعد ذلك ، يمكنك إنشاء حاوية Redis وبدء تشغيلها. للقيام بذلك ، قم بتشغيل الأمر التالي:
docker run -it –name dev_kinsta_redis_container -d redis
تحقق الآن من تشغيل Redis في الحاوية. للقيام بذلك ، اكتب: docker ps
.
الآن بعد أن تأكدت من تشغيل حاوية Docker الخاصة بك ، يمكنك إضافة الحاوية إلى الشبكة. النوع: docker network connect
.
مع عمل كل شيء كما هو متوقع ، فإن الخطوة التالية هي التحقق من أن خادم Redis الذي يعمل داخل Docker جاهز لقبول الاتصالات. للقيام بذلك ، استخدم docker logs
.
بعد ذلك ، يجب عليك إنشاء قاعدة بيانات لأنك بحاجة إلى طريقة للاتصال بحاوية Redis لتشغيل الأوامر على الخادم. للقيام بذلك ، اكتب: docker exec -it bash
. يمكنك استخدام اسم الحاوية ومعرف الحاوية بالتبادل.
في الحاوية ، استخدم CLI لتشغيل الأوامر. لاحظ أن Redis قام بتثبيت مضيفي Docker تلقائيًا. لاستخدام Redis-CLI ، اكتب: redis-cli
.
يوصلك هذا إلى المنفذ الافتراضي لـ Redis على المضيف المحلي. اكتب: ping
، ويجب أن تكون الاستجابة pong
.
بعد ذلك ، حدد قاعدة بيانات داخل خادم Redis بكتابة select
. على الرغم من أن قاعدة البيانات الافتراضية هي 0
، حدد db 1
.
بعد ذلك ، أدخل البيانات في قاعدة البيانات. استخدم الأمر Redis SET
. للقيام بذلك ، اكتب SET <key> <value>
.
على سبيل المثال:
SET mykey "Hello"
للحصول على نفس المفتاح ، اكتب:
get myKey
للحصول على قيمة المفتاح ، قم بتشغيل get
. هذا يعيد القيمة. بعد ذلك ، راقب قاعدة بيانات Redis الخاصة بك عن طريق كتابة MONITOR
.
أخيرًا ، أوقف خادم Redis عن طريق الخروج من CLI. اكتب exit
مرتين للخروج من CLI و Redis.
أخيرًا ، أوقف تشغيل حاوية Redis عن طريق كتابة docker stop
.
Redis مع DevKinsta
يتيح لك DevKinsta توصيل موقع WordPress بقاعدة بيانات Redis. مع DevKinsta ، تعمل الوظيفة الإضافية Redis بسلاسة كذاكرة تخزين مؤقت للكائن لاستمرار البيانات عبر العديد من عمليات تحميل الصفحات. هذا يعني أنه باستخدام الوظيفة الإضافية Redis ، يمكنك استخدام ذاكرة التخزين المؤقت لإعادة استخدام الكائنات بدلاً من الاستعلام باستمرار عن قاعدة بيانات MySQL.
بعد تنزيل DevKinsta وإعداده ، قم بتثبيت Docker Desktop كعنصر تبعية ، والذي يستخدمه لإنشاء ملفات بيئة محلية داخل حاوية. باستخدام هذا الإعداد ، يمكنك تكوين الوظيفة الإضافية Redis في Devkinsta.
لذلك ، يمكن استخدام الوظيفة الإضافية Redis لـ DevKinsta كمصدر ثانوي ، مما يقلل الحمل على قاعدة البيانات الأساسية ، ويزيد أوقات الاستجابة ، ويجعل التطبيق يعمل بشكل أسرع.
هذا يترجم إلى التطبيق الذي يتعامل مع المزيد من التحميل والتوسيع بكفاءة. تحقق من هذا المنشور لاستخدام المكون الإضافي Redis مع موقع الويب الخاص بك.
ملخص
هناك العديد من المزايا لتشغيل Redis داخل حاوية Docker. إنه يوفر بيئة وضع الحماية لتطبيقاتك ، لذلك لم تعد مضطرًا إلى الاهتمام بالنظام الأساسي الذي تنشر فيه تطبيقاتك. علاوة على ذلك ، يتيح Docker سهولة الاستخدام والمرونة والموثوقية العالية.
فيما يتعلق بالأمان ، يمكنك التحقق من الثغرات الأمنية ومسحها ضوئيًا خارج منطقة الجزاء باستخدام Synk ، وهي أداة توفر رؤية أمان صور Docker. وفيما يتعلق بالمرونة ، يعمل Docker مع معظم أنظمة التشغيل والتطبيقات المستندة إلى Unix و Windows. تعني هذه المرونة أن التطبيقات أو الخدمات التي تم إرساؤها أو وضعها في حاويات تعمل دائمًا بغض النظر عن نظام التشغيل.
من السهل استخدام Docker و Redis الإضافية مع DevKinsta ، والتي تعمل على إنشاء موقع WordPress مُرسى محليًا عند بدء تشغيله. تحقق من DevKinsta و Redis للحصول على قوة Redis في Docker اليوم.