• Sun. Sep 22nd, 2024

كيفية تثبيت Docker في Linux

Byadmin

Aug 5, 2024

صورة لشاشة كمبيوتر تعرض ملف Docker Compose.

Docker عبارة عن منصة حاويات قوية تسمح لأي شخص بنشر وإصدار برامج معقدة تمامًا مثل التطبيقات العادية. وهذا يجعلها جذابة للمستخدمين الذين يريدون تشغيل الخدمات عبر الإنترنت ولكنهم لا يريدون التعامل مع الصداع المتمثل في إدارة التبعيات وملفات التكوين. ستوضح لك هذه المقالة كيفية تثبيت Docker وDocker Compose على بعض أشهر توزيعات Linux اليوم.

لماذا تستخدم Docker لنشر الخدمات في Linux

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

محطة طرفية تُظهر حاويات Docker المختلفة التي تعمل على صيانة Shlink.

من بين الميزات القوية لـ Docker أنه بمجرد أن تعمل الحاوية في أحد توزيعات Linux، فإن جعلها تعمل في توزيعات Linux الأخرى عملية بسيطة نسبيًا. وذلك لأن Docker يلخص الاختلافات بين توزيعات Linux هذه مما يجعلها متوافقة مع تعديلات بسيطة على الحاوية.

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

تثبيت Docker على Ubuntu

ابدأ بالتحقق من بصمة المفتاح للمفتاح العام الرسمي لمشروع Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --show-keys --with-fingerprint

في الوقت الحالي، بصمة مفتاح التوقيع لمشروع Docker هي: 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88.

محطة تسلط الضوء على بصمة مفتاح التوقيع Docker CE.

مع ذلك، قد يتغير هذا المفتاح في المستقبل. تحقق من موقع Docker الرسمي لمعرفة ما إذا كانا متطابقين. من المهم إجراء مراجع متبادلة للتأكد من أن البرنامج الذي تقوم بتثبيته شرعي.

بمجرد التأكد من صحة مفتاح التوقيع، قم بتنزيله وحفظه في المجلد “/etc/apt/keyrings”:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

تأكد من صحة بتات الأذونات الخاصة بملف المفتاح:

sudo chmod a+r /etc/apt/keyrings/docker.gpg

إنشاء ملف مستودع جديد لمشروع Docker:

sudo nano /etc/apt/sources.list.d/docker.list

قم بلصق سطر التعليمات البرمجية التالي داخل ملف المستودع الجديد الخاص بك:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable

احفظ ملف المستودع الجديد، ثم قم بتحديث مستودعات حزم النظام لديك:

sudo apt update && sudo apt upgrade

قم بتثبيت حزم Docker الأساسية مع مكون Docker Compose الإضافي. سيتيح لك ذلك نشر تطبيقات Docker وتنظيمها بشكل صحيح:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

تحتاج معظم أوامر Docker إلى البادئة بـ sudoإذا كنت تريد تجنب الحاجة إلى كتابة كلمة المرور الخاصة بك في كل مرة، أضف حساب المستخدم الخاص بك إلى مجموعة “docker”:

sudo adduser YOUR-CURRENT-USERNAME docker

قم بتسجيل الخروج من واجهة المستخدم الرسومية الخاصة بك ثم تسجيل الدخول مرة أخرى. يمكنك الآن استخدام أوامر مثل docker ps بدلاً من sudo docker ps.

نصيحة: يمكنك أيضًا تعطيل التحقق من كلمة المرور في sudo عن طريق تعديل ملف sudoers.

تثبيت Docker على Debian

نظرًا لأن Debian هو توزيع Linux الأساسي لـ Ubuntu، فإنه يستخدم أيضًا apt لإدارة حزمه ومستودعاته. وهذا يعني أن الخطوات متشابهة تقريبًا مع Ubuntu باستثناء عدد قليل من مفاتيح GPG وروابط المستودعات الخاصة بـ Debian.

للبدء، قم بجلب مفتاح توقيع مستودع Docker من مشروع Docker:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

ملحوظة: تمامًا كما هو الحال مع Ubuntu، يجب عليك أيضًا تأكيد بصمة GPG لمستودع Debian Docker. في الوقت الحالي، تكون: 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88.

قم بإنشاء ملف مستودع apt لمشروع Docker:

sudo nano /etc/apt/sources.list.d/docker.list

قم بلصق سطر التعليمات البرمجية التالي داخل ملف المستودع:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable

قم بتحديث قوائم مستودعات الجهاز وتحديث نظام Debian الخاص بك:

sudo apt update && sudo apt upgrade

جلب وتثبيت حزم Docker الأساسية ومكون Docker Compose:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

أضف حساب المستخدم الخاص بك إلى مجموعة “docker”:

sudo usermod -aG docker YOUR-USERNAME

أعد تشغيل جهاز Debian الخاص بك لتطبيق الإعدادات الجديدة، ثم قم بتشغيل الأمر التالي لاختبار ما إذا كان تثبيت Docker يعمل بشكل صحيح:

محطة طرفية تعرض أحدث إصدار من Docker المتوفر في المستودع.

تثبيت Docker على Fedora

لتثبيت Docker وDocker Compose على Fedora، قم أولاً بالحصول على برنامج الإدارة لـ dnf:

sudo dnf install dnf-plugins-core

احصل على تفاصيل المستودع لـ Docker وأرسلها إلى تثبيت dnf الخاص بك:

sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

قم بتثبيت Docker وDocker Compose وتبعياتهما:

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

تأكد من أن بصمة الإصبع لمستودع Docker هي: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35. اكتب “y”، ثم اضغط على يدخل لمتابعة عملية التثبيت:

محطة تسلط الضوء على مطالبة التحقق من المفتاح في فيدورا.

تمكين وبدء تشغيل خدمة Docker systemd:

sudo systemctl enable --now docker.service

تأكد من أن حساب المستخدم الحالي الخاص بك موجود في مجموعة مستخدمي “docker”:

sudo usermod -aG docker YOUR-USERNAME

قم بتسجيل الخروج ثم تسجيل الدخول مرة أخرى إلى واجهة المستخدم الرسومية الخاصة بك، ثم اختبر تثبيت Docker الخاص بك عن طريق تشغيل الحاوية “Hello, world!”:

محطة طرفية تعرض حاوية hello-world في Fedora Linux.

جيد ان تعلم: تعرف على كيفية قيام حاويات Docker بتبسيط نشر التطبيقات من خلال استضافة خدمة bit.ly الخاصة بك ذاتيًا باستخدام Shlink.

تثبيت Docker على Red Hat Enterprise Linux

Red Hat Enterprise Linux (RHEL) هو توزيع مستقر وطويل الأمد لدعم المصب من Fedora. وعلى عكس المنبع، يوفر RHEL بيئة ثابتة وقوية حيث يمكنك تشغيل تطبيقاتك بشكل موثوق. وهذا يجعله نظامًا رائعًا لنشر البرامج التي تريد تشغيلها دون انقطاعات أو انقطاعات قليلة.

ابدأ بجلب ملف المستودع لمشروع Docker:

sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

احصل على Docker وDocker Compose وتبعياتهما وقم بتثبيتهما:

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

يمكنك أيضًا تحديد إصدار Docker الذي تريد تشغيله على نظامك. للقيام بذلك، قم بإدراج إصدارات Docker المتاحة لجهازك:

dnf list docker-ce --showduplicates

قم بالتمرير خلال قائمة الإصدارات المتوفرة، ثم انسخ رقم الإصدار الذي تريد تثبيته.

محطة تسلط الضوء على الإصدارات المختلفة من Docker المتوفرة في RHEL.

قم بلصق الأمر التالي في محطتك الطرفية، ثم استبدل القيمة version متغير برقم الإصدار الخاص بك:

version="YOUR-VERSION-NUMBER-HERE"

قم بتثبيت الإصدار المحدد من Docker في نظامك:

sudo dnf install docker-ce-3:$version docker-ce-cli-1:$version containerd.io docker-buildx-plugin docker-compose-plugin

تمكين وتشغيل خدمة Docker باستخدام systemctl:

sudo systemctl enable --now docker.service

أضف المستخدم الحالي إلى مجموعة مستخدمي Docker:

sudo useradd -aG docker YOUR-USERNAME

اختبار ما إذا كان Docker يعمل بشكل صحيح عن طريق التشغيل docker --version لإدراج رقم الإصدار الخاص به.

محطة طرفية تعرض الإصدار المخفّض من Docker الذي يعمل في RHEL.

تثبيت Docker على Arch Linux

يتضمن Arch Linux بالفعل Docker وDocker Compose في مستودعات المجتمع الخاصة به. وهذا يجعل تثبيت كليهما بسيطًا مثل تشغيل pacman:

sudo pacman -S docker docker-compose containerd docker-buildx
محطة طرفية تعرض موجه التثبيت لـ Docker في Arch Linux.

أضف حساب المستخدم الحالي إلى مجموعة Docker:

sudo usermod -aG docker YOUR-USERNAME

أعد تشغيل جهازك لإعادة تحميل النظام وبدء تشغيل برنامج Docker.

تمكين خدمة Docker للبدء تلقائيًا عند التمهيد وتشغيلها في الجلسة الحالية:

sudo systemctl enable --now docker.service

اختبار ما إذا كان Docker يعمل بشكل صحيح عن طريق تشغيل حاوية “Hello, world”:

محطة طرفية تعرض حاوية Docker hello-world قيد التشغيل في Arch Linux.

نشر حاوية Docker الأولى الخاصة بك

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

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

مع ذلك، ابدأ بالذهاب إلى مركز دوكر وابحث عن التطبيق الذي تريد تثبيته. لهذا، سأستخدم حاوية Nginx Docker لأنني أريد تقديم موقع ويب ثابت أساسي.

لقطة شاشة لصفحة صورة Docker لـ Nginx.

ارجع إلى جلسة المحطة الطرفية الخاصة بك، ثم قم بإنشاء دليل لحاوية Docker الخاصة بك:

mkdir ./docker-nginx && cd ./docker-nginx

انسخ موقع الويب الثابت الخاص بك داخل دليل Docker:

cp -r ~/html-site ./docker-nginx

قم بإنشاء ملف Dockerfile داخل الدليل الجديد باستخدام محرر النصوص المفضل لديك:

قم بلصق أسطر التعليمات البرمجية التالية داخل ملف Dockerfile الخاص بك. سيؤدي هذا إلى تحميل صورة Nginx ونسخ موقع الويب الثابت من مجلد “html-site” إلى مجلد “html” داخل الحاوية.

FROM nginx
COPY html-site /usr/share/nginx/html

احفظ ملف Dockerfile الخاص بك، ثم قم ببناء حاوية Nginx Docker:

docker build -t static-nginx .

قم بتشغيل حاوية Docker التي تم إنشاؤها حديثًا باستخدام الأمر الفرعي run:

docker run --name my-nginx-website --publish 8080:80 -d static-nginx

استخدام Docker Compose لتشغيل الحاوية الخاصة بك

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

قم بإنشاء ملف “docker-compose.yml” داخل دليل Docker الخاص بك:

قم بلصق كتلة التعليمات البرمجية التالية داخل ملف Compose الخاص بك:

services:
  nginx:
    container_name: my-nginx-website
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:80

احفظ ملف “docker-compose.yml”، ثم ابدأ تشغيل حاوية Docker الخاصة بك:

اختبر ما إذا كان موقع الويب الجديد الخاص بك يعمل بشكل صحيح عن طريق زيارة “localhost:8080” باستخدام متصفح الويب الخاص بك.

لقطة شاشة تعرض موقع ويب أساسيًا يعمل على نسخة Nginx Dockerized.

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

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *