الانتقال بين أنظمة التشغيل قد يكون مرهقًا، خاصة عند الحاجة إلى التبديل بين Linux ونظامك الأساسي عبر التمهيد المزدوج. لكن مع تطور أدوات الحاويات أصبح تشغيل Linux داخل Docker حلاً أكثر مرونة وسرعة. هذا الأسلوب يمنحك القدرة على الاستفادة من قوة Linux دون الحاجة لإعادة تشغيل الجهاز في كل مرة، مع الاحتفاظ بسهولة الوصول إلى جميع تطبيقاتك الأخرى. العديد من المطورين اليوم يعتمدون على هذا النهج لأنه يجمع بين الأداء والاستقرار وسهولة الإدارة.
معظم من يرغبون في استخدام لينكس مع ويندوز أو ماك يلجأون مباشرةً إلى الحل التقليدي: التمهيد المزدوج. بذلك، تُنشئ قسمًا، وتُثبّت لينكس، ثم تُعيد تشغيله وقتما تشاء. لكنني وجدتُ طريقة أفضل: أحتفظ بلينكس داخل حاوية دوكر. لا مزيد من العبث بقوائم التمهيد أو تغيير حجم الأقراص.
1. ما هو Docker ، ولماذا يُنصح بتشغيل Linux في حاوية Docker ؟
دوكر منصة تُجمّع التطبيقات وتبعياتها في حاوية. الحاويات هي حزم مستقلة قابلة للتنفيذ تتضمن كل ما يلزم لتشغيل التطبيق، مثل الكود، ووقت التشغيل، وأدوات النظام، والإعدادات. باختصار، كل ما يحتاجه التطبيق مُجمّع داخل الحاوية. بمجرد تثبيت دوكر على النظام، يمكنك تشغيل الحاوية على الفور.
إذن، ما فائدة هذا؟ تخيّل تشغيل تطبيقك على جهاز كمبيوتر آخر – مثل جهاز صديقك. لن تضطر بعد الآن للتعامل مع المشكلة المعتادة: “لكنه كان يعمل بشكل مثالي على جهازي!” مع Docker، ستعمل الحاوية باستمرار في كل مكان.
لماذا استخدام Docker لتشغيل لينكس؟
إذا أراد شخص ما تشغيل لينكس بينما نظام التشغيل الحالي هو Windows أو macOS، فالطريقة المعتادة هي التمهيد المزدوج. هذا يعني تقسيم القرص، وتثبيت لينكس عليه، وإيقاف تشغيل الكمبيوتر، ثم اختيار لينكس من قائمة التمهيد. عندها فقط يبدأ لينكس في التشغيل.
هذه الطريقة لتشغيل لينكس ليست مملة فحسب؛ بل تنطوي أيضًا على بعض المخاطر، مثل احتمالية حدوث مشاكل في أداة تحميل التشغيل، وأخطاء التقسيم، أو حتى فقدان البيانات في حال حدوث أي مشكلة. هناك عدة أمور يجب مراعاتها قبل التمهيد المزدوج لينكس وويندوز.
عامل آخر يجب مراعاته هو سير العمل. ماذا لو كنت تعمل على أمر مهم ولا تريد إعادة تشغيل جهاز الكمبيوتر؟ أو ماذا لو احتجت فجأة، أثناء استخدام لينكس، إلى تطبيق متوفر فقط على macOS؟ ماذا الآن؟
هنا يأتي دور Docker. مع Docker، لن تحتاج إلى عناء التمهيد المزدوج. ما عليك سوى فتح تطبيق Docker، وتشغيل حاويتك، وسيعمل لينكس جنبًا إلى جنب مع نظام التشغيل الحالي لديك. لا يهم إن كان ويندوز أو ماك.
هذا هو جمال وبساطة Docker. إذا كنت لا تزال غير مقتنع بأن Docker مناسب تمامًا لنظام لينكس، فدعني أخبرك بالمزيد.
2. أستطيع استخدام لينكس كما يحلو لي
ما الذي يميز لينكس حقًا؟ الناس، بمن فيهم أنا، يحبونه لأسباب عديدة، مثل كونه مفتوح المصدر، وإمكانية التخصيص، ومجتمع المستخدمين.
على لينكس، يمكنني اختيار الأدوات التي أريدها بدقة، وتعديل سلوك النظام حتى أدق التفاصيل، وأتمتة أي شيء تقريبًا. Docker يجعل هذا أفضل.
باستخدام Docker، يمكنني تشغيل أي توزيعة أريدها. سواءً كانت Ubuntu أو Fedora أو Arch أو Alpine، والتبديل بينها دون الحاجة إلى إعادة تثبيت أو إعادة تشغيل. أو يمكنني تعطيل بعض البرامج، والتجربة بكثافة، بينما يظل نظام التشغيل الرئيسي آمنًا ومتاحًا للاستخدام دائمًا. وإذا تجاوزت الأمور الحد، وأعطبت شيئًا ما على لينكس، يمكنني البدء من جديد في دقائق. ما عليك سوى إزالة الحاوية، وفي غضون ثوانٍ، تكون حاوية جديدة جاهزة للعمل.
في الشهر الماضي فقط، قمت بتشغيل حاوية Arch لأرى إلى أي مدى يمكنني تقليصها مع الاستمرار في تشغيل سطح مكتب رسومي. لم يكن الأمر جيدًا. لذلك، كتبت في الطرفية: “docker rm arch-lighweight”. واختفت الحاوية في ثوانٍ. لم أضطر إلى تنظيفها، ولا إلى إهدار مساحة، والأهم من ذلك، لم أضيع وقتًا. هذه هي التجربة المرحة التي لن أجرؤ على تجربتها أبدًا مع نظام تشغيل مزدوج، لأن إعادة تثبيت لينكس ستستغرق مني أكثر من ساعة.
إضافةً إلى ذلك، يمكنك تشغيل ثلاثة أو حتى أربعة توزيعات في الوقت نفسه، أثناء التسوق على موقع أمازون باستخدام متصفح سفاري.
3. يمكنني الوصول إلى لينكس عن بُعد على حاسوبي المحمول
هذا أحد أكثر الأشياء التي تُعجبني في تشغيل لينكس باستخدام دوكر. فبينما أُشغّله على جهازي الرئيسي، يُمكنني استخدامه من جهاز الكمبيوتر المحمول في أي مكان في منزلي. ولأن حاويات دوكر تُتيح عرض الخدمات عبر الشبكة، يُمكنني الوصول إلى بيئة لينكس عبر بروتوكول SSH من الأريكة، أو المطبخ، أو حتى من الشرفة مع فنجان قهوة.
يشبه الأمر امتلاك خادم سحابي شخصي مُدمج داخل جهازي الرئيسي. جميع المهام الشاقة، مثل تجميع الأكواد البرمجية ومعالجة البيانات، تتم على جهازي الرئيسي، ولكن يُمكنني التحكم فيه بالكامل من جهاز الكمبيوتر المحمول خفيف الوزن. كما يُمكنني، مع إعادة توجيه X11 أو إعداد سطح مكتب بعيد مثل VNC أو RDP، الوصول إلى سطح مكتب لينكس رسومي كامل على جهاز الكمبيوتر المحمول.
4. عزل سير العمل مُهم بالنسبة لي
بصراحة: أنا شخص يُشتت انتباهي بسهولة. ولأنني أعرف هذا عن نفسي، فقد ساعدني دوكر في حل جزء من المشكلة من خلال إنشاء بيئات لينكس مُنعزلة لسير عمل مُختلفة.
بدلاً من تثبيت لينكس واحد مُزدحم ومُربك، لديّ حاويات مُنفصلة لأغراض مُحددة. على سبيل المثال:
- التطوير: حاوية تحتوي على بيئة التطوير المتكاملة (IDE) المفضلة لديّ، والمُجمِّعات البرمجية، وقواعد البيانات، وأدوات تصحيح الأخطاء.
- الكتابة: سطح مكتب لينكس بسيط مع مُحرِّر نصوص، ومتصفح، وأدوات الكتابة الخاصة بي.
- الاختبار: هذه حاوية مؤقتة، حيث أُثبِّت الحزم التجريبية، وأُعطِّل البرامج، وأُعيد ضبطها دون قلق.
يُحافظ عزل سير العمل هذا على نظافة بيئاتي ويُولِّد شعورًا بالعزلة. عندما أفتح حاوية الكتابة، أكون في وضع الكتابة. وعندما أفتح حاوية التطوير، أكون في وضع البرمجة. لا يُزوِّدني Docker بنظام لينكس فحسب، بل يُعطيني أيضًا الحدود الذهنية التي أحتاجها للبقاء على المسار الصحيح.
الفكرة الأساسية لإعادة إنشاء هذا النوع من الإعدادات هي وجود مجموعة صغيرة من ملفات docker-compose.yml لكل سير عمل. يُحدد كلٌّ منها ما يلي:
صورة لينكس الأساسية التي أريدها
أي حزم أو تطبيقات مُثبّتة مُسبقًا
مجلدات الملفات المُشتركة (حتى أتمكن من الوصول إلى عملي من المُضيف)
منافذ أي خوادم محلية قد أُشغّلها
إذن، بدء تشغيل بيئتي بسيطٌ للغاية:
cd ~/docker-envs/writing
docker compose up -d
## Or, for development:
cd ~/docker-envs/dev
docker compose up -d
في غضون ثوانٍ، أجد نفسي داخل مساحة عمل لينكس نظيفة ومُعدّة مسبقًا، متطابقة في كل مرة. عند الانتهاء من العمل، يُمكنني إيقافه والمتابعة من حيث توقفت في المرة القادمة. لا فوضى، ولا تداخل بين مهام سير العمل.
5. إعداد لينكس سهل للغاية
أخيرًا، إذا نظرنا إلى الإنتاجية البحتة، فهناك مزايا خفية لتشغيل لينكس في دوكر تُسهّل استخدام وإدارة لينكس بشكل كبير.
- لا حاجة لتقسيم القرص: لستُ مضطرًا لإنشاء أقسام يدويًا، أو التعامل مع تنسيقات الأقسام، أو المخاطرة بمسح بيانات مهمة. كل شيء مُنظّم داخل الحاويات والصور.
- أمان مُحمّل الإقلاع: لا قوائم GRUB، ولا إعادة كتابة لمحمّل الإقلاع، ولا لحظات “لماذا لا يبدأ جهازي؟”. يعمل نظام تشغيل المُضيف بشكل طبيعي في كل مرة، مع وجود بيئة لينكس كاملة على بُعد حاوية واحدة فقط.
- عزل المُضيف: يُمكنني استخدام الحاويات لإنشاء بيئات معزولة لمهام مُحددة. على سبيل المثال، يُمكنني تشغيل حاوية بمتصفحها وملفاتها الخاصة. بما أن متصفحها وتطبيقاتها وملفاتها معزولة عن المُضيف وتُتلف عند انتهاء الجلسة، فإن هذا يمنع التتبع المُستمر عبر ملفات تعريف الارتباط والبيانات المحلية. ولكن، من المهم تذكر أن هذا الإعداد لا يوفر خصوصية الشبكة؛ لذلك، ستحتاج إلى شبكة افتراضية خاصة (VPN) أو Tor لإخفاء بياناتك. اللقطات والاستعادة: قبل إجراء أي تغييرات كبيرة، يمكنني التقاط حالة الحاوية. إذا تعطل شيء ما، أستعيده ببساطة. لا إعادة تثبيت، لا مشكلة.
- قد لا تبدو هذه التسهيلات البسيطة مثيرة للاهتمام، لكنها مجتمعة تعني الكثير. أقضي وقتًا أقل في إعداد النظام وإصلاح المشاكل، وأقضي وقتًا أطول في استخدام لينكس.
لا يزال للتمهيد المزدوج مكانته. إذا كنت تحتاج إلى وصول كامل للأجهزة أو تريد لينكس نظام التشغيل الأساسي لديك، فهو خيار ممتاز. لديّ أيضًا لينكس مثبتًا إلى جانب ويندوز على جهازي. لكنني نادرًا ما أقوم بالتمهيد مباشرةً إلى لينكس؛ بدلًا من ذلك، أستخدم لينكس في حاوية Docker.
والأهم من ذلك، أن Docker يجعل لينكس نظامًا أستخدمه يوميًا وفي كل مكان، وليس مجرد نظام أقوم بالتمهيد إليه من حين لآخر. وبمجرد تجربة هذا المستوى من سهولة الوصول، يصعب عليك العودة إلى العبث بالأقسام وقوائم إعادة التشغيل.
لذا، إذا كنت مترددًا في تجربة Linux لأنك لا تريد العبث بإعداداتك الحالية، أو إذا كنت قد سئمت من احتكاك التمهيد المزدوج – فقد حان الوقت لتجربة Linux في Docker.
تشغيل Linux داخل Docker ليس مجرد خيار تقني، بل أسلوب عملي يوفر للمستخدمين توازنًا بين الاستقرار والمرونة. بالنسبة للكثيرين أصبح هذا الحل أفضل من التمهيد المزدوج لأنه يمنحهم القدرة على الاستفادة من Linux دون التضحية براحة العمل على نظامهم الأساسي. في النهاية يبقى القرار مرتبطًا باحتياجاتك، لكن Docker يقدم تجربة تجعل التبديل بين الأنظمة أكثر سهولة وسلاسة.