ديف أوبس

إعداد LXD على أوبونتو 16.04

كيفية إعداد واستخدام LXD على أوبونتو 16.04 – تكوين وتوجيه وإزالة حاوية Nginx

يعتبر LXD من الأدوات المتطورة لإدارة الحاويات على أنظمة تشغيل لينكس، وخصوصًا على توزيعة أوبونتو. يتيح LXD إمكانية إنشاء وإدارة الحاويات بشكل سهل ومرن، مما يجعلها أداة رائعة لإنشاء بيئات معزولة وتشغيل التطبيقات عليها. في هذا المقال، سنتناول كيفية إعداد واستخدام LXD على أوبونتو 16.04، مع التركيز على تكوين وتوجيه وإزالة حاوية Nginx.

1. مقدمة عن LXD

LXD هو مدير حاويات يعتمد على تقنيات LXC (Linux Containers) التي تتيح للمستخدمين إنشاء بيئات افتراضية معزولة يمكن تشغيلها على نفس النظام الفعلي. على الرغم من أن LXD يعمل بطريقة مشابهة للأجهزة الافتراضية (VMs)، إلا أنه يتمتع بكفاءة أعلى في الأداء بفضل تقنيات الحاويات التي تعمل على مشاركة نفس نواة النظام. يمكن استخدام LXD لإنشاء حاويات تحتوي على تطبيقات متنوعة، مثل Nginx، مع توفير بيئة مستقلة لكل منها.

2. تثبيت LXD على أوبونتو 16.04

لتثبيت LXD على أوبونتو 16.04، يمكن اتباع الخطوات التالية:

  1. تحديث النظام:
    أولاً، يجب تحديث النظام إلى أحدث الحزم المتاحة. يمكنك القيام بذلك باستخدام الأوامر التالية:

    bash
    sudo apt update sudo apt upgrade
  2. تثبيت LXD:
    بعد تحديث النظام، يمكن تثبيت LXD عبر حزمة Snap، وهي الطريقة الموصى بها. نفذ الأمر التالي لتثبيت LXD:

    bash
    sudo snap install lxd
  3. إعداد LXD:
    بعد تثبيت LXD، قم بتشغيل أداة الإعداد الخاصة به لتكوين البيئة:

    bash
    sudo lxd init

    ستقوم الأداة بسؤالك عن بعض الإعدادات مثل نوع التخزين وتهيئة الشبكة. في معظم الحالات، يمكنك اختيار الخيارات الافتراضية أو تخصيصها حسب احتياجاتك.

3. إنشاء حاوية Nginx

بعد إعداد LXD، يمكننا الآن البدء في إنشاء حاوية جديدة وتشغيل Nginx عليها. للقيام بذلك، اتبع الخطوات التالية:

  1. إنشاء حاوية جديدة:
    لإنشاء حاوية جديدة باستخدام LXD، استخدم الأمر التالي:

    bash
    lxc launch ubuntu:16.04 my-nginx-container

    في هذا الأمر، ubuntu:16.04 هو الصورة الأساسية التي سيتم استخدامها لإنشاء الحاوية، و my-nginx-container هو اسم الحاوية الجديدة.

  2. الدخول إلى الحاوية:
    بعد إنشاء الحاوية، يمكن الدخول إليها باستخدام الأمر التالي:

    bash
    lxc exec my-nginx-container -- bash

    هذا سيوجهك إلى واجهة bash داخل الحاوية حيث يمكنك بدء تثبيت وإعداد Nginx.

  3. تثبيت Nginx داخل الحاوية:
    بمجرد الدخول إلى الحاوية، قم بتثبيت Nginx باستخدام الأوامر التالية:

    bash
    apt update apt install nginx
  4. تشغيل Nginx:
    بعد تثبيت Nginx، قم بتشغيله باستخدام الأمر:

    bash
    systemctl start nginx

    لتأكد من أن Nginx يعمل بشكل صحيح، يمكنك التحقق من حالة الخدمة باستخدام:

    bash
    systemctl status nginx

4. توجيه الحاوية إلى الإنترنت

بعد إعداد Nginx على الحاوية، قد تحتاج إلى توجيه الحاوية إلى الإنترنت بحيث يمكن الوصول إليها من جهاز آخر في الشبكة. للقيام بذلك، يجب إعداد جسر شبكي (network bridge) بين الحاوية والمضيف.

  1. إعداد الجسر الشبكي:
    أولاً، قم بإنشاء شبكة جسرية باستخدام LXD:

    bash
    lxc network create lxdbr0

    هذا ينشئ شبكة افتراضية على جهازك المضيف. يمكنك تخصيص إعدادات الجسر حسب احتياجاتك.

  2. ربط الحاوية بالشبكة:
    بعد إنشاء الشبكة، اربط الحاوية بالشبكة الجديدة:

    bash
    lxc network attach lxdbr0 my-nginx-container eth0
  3. إعداد التحويل بين الحاوية والمضيف:
    يمكنك استخدام iptables لإعداد التحويل بين الحاوية والمضيف. على سبيل المثال، لتمكين الوصول إلى Nginx عبر المنفذ 80، يمكنك إعداد التحويل على جهاز المضيف:

    bash
    sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.0.3.10:80

    في هذا المثال، 10.0.3.10 هو عنوان IP للحاوية داخل الشبكة الجسرية.

5. إزالة الحاوية

عند الانتهاء من استخدام الحاوية أو إذا كنت ترغب في حذفها، يمكنك إزالة الحاوية باستخدام الأوامر التالية:

  1. إيقاف الحاوية:
    أولاً، قم بإيقاف الحاوية التي تحتوي على Nginx:

    bash
    lxc stop my-nginx-container
  2. حذف الحاوية:
    بعد إيقاف الحاوية، يمكنك حذفها باستخدام الأمر التالي:

    bash
    lxc delete my-nginx-container

    سيؤدي ذلك إلى حذف الحاوية تمامًا من النظام.

6. استخدام LXD لإدارة الحاويات المتعددة

تعد LXD أداة قوية لإدارة العديد من الحاويات على جهاز واحد. باستخدام LXD، يمكنك بسهولة إنشاء وتكوين العديد من الحاويات وتشغيل التطبيقات المختلفة عليها، مثل Nginx أو أي تطبيق آخر.

  1. إدارة الحاويات:
    يمكنك استخدام LXD لإدارة حالة الحاويات، مثل التوقف أو البدء أو التحديث. على سبيل المثال، لإيقاف جميع الحاويات التي تعمل، يمكنك استخدام:

    bash
    lxc stop --all
  2. استخدام أوامر مثل lxc list و lxc info:
    للحصول على معلومات حول الحاويات التي تديرها باستخدام LXD، يمكنك استخدام الأوامر التالية:

    bash
    lxc list lxc info my-nginx-container

7. الخلاصة

باستخدام LXD على أوبونتو 16.04، يمكنك بسهولة إنشاء وإدارة حاويات معزولة وتشغيل تطبيقات متنوعة مثل Nginx. من خلال هذه المقالة، استعرضنا كيفية تثبيت LXD، إنشاء حاوية جديدة، تثبيت Nginx داخل الحاوية، إعداد الشبكة لتوجيه الحاوية إلى الإنترنت، وأخيرًا كيفية إزالة الحاوية عند الانتهاء من استخدامها. LXD يوفر طريقة مرنة وقوية لإدارة الحاويات، مما يجعله أداة مثالية للعديد من سيناريوهات التشغيل في بيئات تطوير البرمجيات والخوادم.