مقدمة تفصيلية عن حاويات LXD على Ubuntu

الحاويات مفيدة لأسباب عديدة. إنها تعزل التطبيقات عن بقية النظام. فهي محمولة وسهلة الاستنساخ و / أو نقلها إلى أنظمة التشغيل الأخرى. وفي حالة نظام Linux ، فإنها تعمل بنفس الطريقة تحت أي توزيعة ، دون أي تعديلات ضرورية. إذا كنت بحاجة إلى نقل حاوية من RedHat إلى Ubuntu ، فيجب أن تكون مجرد عملية نسخ بسيطة.

Docker هو حل شائع مصمم لاحتواء تطبيق واحد: على سبيل المثال ، خادم قاعدة بيانات MySQL. يشبهه LXD من بعض النواحي ولكنه مصمم لاحتواء نظام تشغيل بأكمله. هذا يجعله مفيد لبعض السيناريوهات. على سبيل المثال ، يمكنك إنشاء حاوية LXD وتثبيت خادم قاعدة بيانات وخادم http. يمكنك بعد ذلك إنشاء موقع WordPress داخلي. يمكنك الآن التبديل من السحابة إلى السحابة فقط عن طريق نقل حاوية LXD هذه عندما تكون هناك حاجة إليها عندما لا تكون راضيًا عن مزودك السابق. نظرًا لأنه من السهل استنساخ حاوية ، فيمكنك حتى تحميل موقع الويب الخاص بك إلى موفري الخدمات السحابية المتعددين لإنشاء إعداد متكرر وعالي التوفر.

مقدمة تفصيلية عن حاويات LXD على Ubuntu - لينكس

لا يعمل LXD على الأجهزة الافتراضية مثل QEMU أو VirtualBox ، مما يعني أنه سريع جدًا ، مما يوفر سرعة تنفيذ شبه محلية.

تثبيت وتكوين LXD

افتح Terminal وقم بتثبيت LXD ، بالإضافة إلى الأدوات المساعدة ZFS ، والتي سوف تساعدك على تسريع بعض العمليات وتوفير مساحة على القرص عند العمل مع الحاويات.

sudo apt install zfsutils-linux lxd

مقدمة تفصيلية عن حاويات LXD على Ubuntu - لينكس

بدء تكوين LXD.

sudo lxd init

اضغط ENTER لتحديد القيم الافتراضية.

بالنسبة إلى الحجم بالجيجابايت لجهاز الحلقة الجديدة (بحد أدنى 1 جيجابايت) [افتراضي = 15 جيجابايت] ، يمكنك اختيار قيمة أخرى ، مثل “50 جيجابايت” إذا كنت تعلم أنك ستنشئ الكثير من الحاويات.

مقدمة تفصيلية عن حاويات LXD على Ubuntu - لينكس

العثور وتشغيل صورة توزيعة LXD

لسرد جميع صور Ubuntu:

lxc image list ubuntu: arch=amd64
مقدمة تفصيلية عن حاويات LXD على Ubuntu - لينكس

سيكون هناك الكثير من النتائج. يمكنك إختيار ommit arch = amd64 إذا كنت بحاجة إلى صور لمنصات أخرى ، مثل معالجات ARM (تستخدم أجهزة Raspberry Pi هذه البنية).

في الصورة السابقة ، كانت النتائج محدودة (مع | head) لتسهيل قراءتها. تم إبراز بصمة Ubuntu 18.04 (84a71299044b). إذا كنت تريد تشغيل حاوية بهذا التوزيعة ، فسيكون الأمر:

lxc launch ubuntu: 84a71299044b

في هذه اللحظة سيعود هذا مع خطأ رفض الإذن . يجب أن تكون في مجموعة “lxd”. تمت إضافة المستخدم الخاص بك إلى هذه المجموعة بالفعل ، ولكن لتنشيطه ، يجب عليك تسجيل الخروج وتسجيل الدخول مرة أخرى. إذا كنت تريد تجنب ذلك ، استخدم هذا الأمر ، مع استبدال “user” باسم المستخدم الخاص بك:

exec su - user
مقدمة تفصيلية عن حاويات LXD على Ubuntu - لينكس

الآن ، تعمل أوامر lxc دون الحاجة إلى sudo.

تشغيل حاويات LXD مع توزيعات غير Ubuntu

سيوضح لك هذا الأمر التوزيعات الأخرى المتاحة:

lxc image list images: arch=amd64

لبدء صورة ، بدلاً من البصمة ، يمكنك أيضًا استخدام اسم مستعار إذا رأيت اسمًا متاحًا في تلك القائمة.

lxc launch images:debian/9
مقدمة تفصيلية عن حاويات LXD على Ubuntu - لينكس

إذا قمت بإلحاق سلسلة في النهاية ، يمكنك اختيار اسم للحاوية الخاصة بك:

lxc launch images:debian/9 wordpress-site

إدارة حاويات LXD

لسرد جميع الحاويات:

lxc list
مقدمة تفصيلية عن حاويات LXD على Ubuntu - لينكس

يعد عمود “IPV4” مهمًا بشكل خاص إذا كان لديك أي خدمات قيد التشغيل في هذه الحالة. على سبيل المثال ، إذا كان خادم Apache http يعمل على المثيل ، فإن إدخال “10.234.232.246” في المتصفح سيعرض موقع الويب المستضاف في الحاوية.

لإيقاف الحاوية:

lxc stop name_of_container

قد يستغرق هذا وقتًا طويلاً (أو قد يحدث فشل) مع توزيعات غير Ubuntu. من الأفضل أن تحصل على غلاف للحاوية ، وعندما تدخل إلى الداخل ، أدخل systemctl poweroff لإيقافها.

إذا فشل كل شيء آخر ، يمكنك فرض توقف مع:

lxc stop name_of_container --force

لبدء ذلك:

lxc start name_of_container

للتنقل داخل الحاوية الخاصة بك:

lxc shell name_of_container
مقدمة تفصيلية عن حاويات LXD على Ubuntu - لينكس

يمكنك تثبيت البرامج مع “sudo apt install” وفعل أي شيء آخر ستفعله على توزيع Linux عادي ، على سبيل المثال ، تكوين خادم Apache. عندما تريد الخروج من الحاوية ، ببساطة اكتب:

exit

نقل الملفات إلى / من حاويات LXD

لتحميل ملف إلى الحاوية الخاصة بك:

lxc file push /path/to/local/file name_of_container/path/to/uploaded/file

قم بتضمين اسم الملف المراد إنشاؤه ، وليس فقط الدليل الذي تريد تحميله فيه. هنا مثال:

lxc file push lxd-apt-install.png accurate-colt/var/www/website/upload.png

لتحميل دليل بدلاً من ملف:

lxc file push /path/to/local/directory name_of_container/path/to/remote/directory --recursive --verbose

مثال:

lxc file push /bin accurate-colt/tmp --recursive --verbose

لتنزيل دليل من الحاوية الخاصة بك إلى نظام التشغيل الرئيسي الخاص بك:

lxc file pull name_of_container/path/to/remote/directory /path/to/local/directory --recursive --verbose

مثال:

lxc file pull accurate-colt/tmp /tmp --recursive --verbose

الخلاصة

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

زر الذهاب إلى الأعلى