كيفية إنشاء صورة Docker الخاصة بك على Linux

هل سبق لك أن أردت إنشاء صورة Docker الخاصة بك؟ كما اتضح ، يمكنك باستخدام ما يسمى "ملف Dockerfile". في هذا الدليل ، سنتعرف على كيفية إنشاء صورة Docker الخاصة بك.

كيفية تثبيت Docker على Linux

ستحتاج إلى تثبيت Docker على خادم Linux قبل محاولة إنشاء صورة جديدة. لحسن الحظ ، من السهل تثبيت docker على مجموعة متنوعة من أنظمة تشغيل Linux. في هذا الدليل ، سنركز على Ubuntu و Debian و Arch Linux و Fedora و OpenSUSE .

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

أوبونتو / ديبيان

ستحتاج أولاً إلى تحديث فهرس البرامج على نظام Ubuntu / Debian الخاص بك. للقيام بذلك ، قم بتشغيل الأمر apt update أدناه.

sudo apt التحديث

يجب عليك الآن تثبيت حزمة نقل HTTPS للتثبيت عبر HTTPS. ستحتاج أيضًا إلى تثبيت Curl وبعض الحزم الأخرى. يمكن تثبيت هذه الحزم باستخدام الأمر apt install .

sudo apt install apt-transport-https ca-الشهادات curl-properties-common

مع تثبيت الحزم ، حان الوقت لتمكين مفتاح Docker GPG على نظام Ubuntu / Debian الخاص بك. يضمن هذا المفتاح أنه من الآمن تثبيت الحزم على Ubuntu.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

مع تمكين مفتاح GPG ، حان الوقت لتمكين Docker repo. للقيام بذلك ، قم بتنفيذ أمر echo التالي في Terminal.

صدى "deb [arch = amd64 موقع بواسطة = / usr / share / keyrings / docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) مستقر" | sudo tee /etc/apt/sources.list.d/docker.list> / dev / null

عندما تقوم بتمكين Docker repo ، أعد تشغيل الأمر apt update لتحديث فهرس البرنامج.

sudo apt التحديث

أخيرًا ، يمكنك تثبيت حزم Docker التي تحتاجها على Ubuntu أو Debian.

sudo apt install docker-ce docker-ce-cli containerd.io

قوس لينكس

إذا كنت تستخدم Arch Linux ، فيمكنك ببساطة تشغيل الأمر pacman -S وتثبيت حزمة "docker" لجعل Docker يعمل على نظامك.

sudo pacman -S docker

مع تثبيت حزمة Docker على نظام Arch الخاص بك ، قم بتشغيل أوامر systemctl التالية لتمكين البرنامج.

sudo systemctl تمكين docker sudo systemctl بدء docker

فيدورا

يعد تشغيل Docker على Fedora أمرًا بسيطًا إلى حد ما. للبدء ، استخدم الأمر dnf install لتثبيت البرنامج على نظامك.

sudo dnf تثبيت عامل ميناء

بمجرد تثبيت الحزمة على نظام Fedora الخاص بك ، قم بتمكينها باستخدام systemd.

sudo systemctl تمكين docker sudo systemctl بدء docker

OpenSUSE

لجعل Docker يعمل على OpenSUSE ، يجب عليك إضافة Docker repo.

sudo zypper addrepo https://download.docker.com/linux/opensuse/$(awk -F = '/ ^ VERSION_ID / {print $ 2}' / etc / os-release) / x86_64 / docker

بعد ذلك ، قم بتحديث Zypper وتثبيت البرنامج.

تحديث sudo zypper

sudo zypper تثبيت docker-ce

أخيرًا ، قم بتمكين Docker على نظامك باستخدام systemd.

sudo systemctl تمكين docker sudo systemctl بدء docker

كيفية اختيار الصورة الأساسية الخاصة بك

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

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

للبدء ، افتح محرر نصوص Nano في المحطة. ستستخدم Nano لصياغة Dockerfile الخاص بك.

نانو -w ~ / ملف عامل ميناء

داخل محرر نصوص Nano ، أدخل الكود التالي لتحديد رغبتك في استخدام Ubuntu. للحصول على Ubuntu 22.04 ، حدده. إذا كنت ترغب في استخدام إصدار مختلف من Ubuntu ، فيمكن العثور على المعلومات هنا .

# Use the official Ubuntu base image
FROM ubuntu:22.04

كيفية إعداد دليل العمل

يجب عليك إعداد دليل عمل في حاوية Docker الخاصة بك. دليل العمل هو المكان الذي يتم فيه نشر التطبيق على Ubuntu في الحاوية. في هذا المثال ، سنعمل مع دروبال 10. دروبال هو تطبيق ويب ، لذا سنحتاج إلى ضبط WORKDIR على أنه / var / www / html /.

في محرر نصوص Nano ، اضغط على مفتاح Enter لتوفير مسافة. ثم قم بلصق الكود التالي.

# Set the working directory in the container WORKDIR /var/www/html

كيفية تثبيت تبعيات البرنامج

يحتاج التطبيق الذي تنشره في صورة Docker إلى تلبية تبعياته. إذا لم يتم تثبيت التبعيات الصحيحة في الصورة ، فلن تعمل. نحن نقوم بإنشاء صورة دروبال 10 بناءً على Ubuntu 22.04 ، لذلك يجب علينا إضافة جميع تبعيات دروبال 10 إلى الملف.

في محرر نصوص Nano ، اضغط على مفتاح Enter لتوفير مسافة. ثم قم بلصق الكود التالي.

# Install dependencies RUN apt-get update && apt-get install -y \ apache2 \ php \ libapache2-mod-php \ php-curl \ php-gd \ php-intl \ php-mbstring \ php-mysql \ php-pgsql \ php-xml \ php-zip \ unzip

كيفية نسخ كود البرنامج

الخطوة التالية في العملية هي تزويد ملف Docker بكود البرنامج. مرة أخرى ، نستخدم دروبال 10 كمثال. لذلك ، يجب علينا تزويد Dockerfile بوسائل تنزيل واستخراج دروبال 10.

في محرر نصوص Nano ، اضغط على مفتاح Enter لإنشاء سطر جديد. بعد ذلك ، أضف الكود التالي حتى يتمكن Dockerfile الخاص بك من تنزي�� Drupal 10.

# Download and install Drupal RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \ tar -xvf drupal-10.2.tar.gz && \ mv drupal-10.2 .

كيفية كشف المنافذ

في كل مرة تقوم فيها بنشر حاوية Docker ، فإنها تصل إلى المنافذ. على سبيل المثال ، إذا قمت بتشغيل حاوية Syncthing الافتراضية ، فإنها تعرض المنفذ 8384. Nextcloud؟ المنفذ 8080 و 80. تحتاج الحاوية الخاصة بك إلى كشف المنافذ الصحيحة لكي تعمل بشكل صحيح.

أولاً ، اكتشف المنافذ التي يحتاج البرنامج الذي تنشره إلى الوصول إليها. في هذا المثال ، نقوم بنشر دروبال 10. نظرًا لأن دروبال 10 هو نظام CMS لخادم ويب ، فإنه يحتاج إلى منفذ 80. لذلك ، في ملف نصي Nano ، نكشف عن المنفذ 80.

# Expose the Drupal port EXPOSE 80

كيفية تعيين الأمر الافتراضي

تحتاج إلى تعيين الأمر الافتراضي في Dockerfile الخاص بك بحيث يبدأ تشغيل البرنامج تلقائيًا عند إنشاء صورتك ونشرها. في مثالنا ، نريد أن يبدأ Drupal 10 فورًا بمجرد نشر الحاوية ، لذلك نحتاج إلى إضافة أمر تشغيل إلى Dockerfile.

في محرر نصوص Nano ، اضغط على Enter لإنشاء مساحة جديدة في الملف. ثم قم بلصق الكود التالي.

# Start Apache in the foreground CMD ["apache2ctl", "-D", "FOREGROUND"]

عند إضافة هذا الجزء الأخير من التعليمات البرمجية إلى الملف ، احفظه بالضغط على Ctrl + O ، واخرج من محرر نصوص Nano باستخدام Ctrl + X. يجب أن يبدو ملف Dockerfile مثل الكود أدناه.

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

FROM ubuntu:22.04

# Set the working directory
WORKDIR /var/www/html

# Install dependencies
RUN apt-get update && apt-get install -y \
apache2 \
php \
libapache2-mod-php \
php-curl \
php-gd \
php-intl \
php-mbstring \
php-mysql \
php-pgsql \
php-xml \
php-zip \
unzip


# Download and install Drupal
RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \
tar -xvf drupal-10.2.tar.gz && \
mv drupal-10.2 .


# Expose the Drupal port
EXPOSE 80

# Start Apache in the foreground
CMD ["apache2ctl", "-D", "FOREGROUND"]

كيف نبني الصورة

لإنشاء صورة Docker الجديدة الخاصة بك باستخدام Dockerfile الذي قمت بإنشائه ، أدخل أمر docker build التالي .

sudo docker build -t my-docker-image.

سيبني الأمر أعلاه صورة Docker الخاصة بك.

كيفية نشر الصورة

لنشر صورتك الجديدة في حاوية ، تحتاج إلى استخدام أمر docker run . على سبيل المثال ، لتشغيل صورة Drupal 10 Ubuntu المبنية حديثًا على المنفذ 80 ، قم بما يلي.

sudo docker run -d --name my-drupal-container -p 80:80 my-docker-image


تحسين حافظة Gnome Shell باستخدام Pano

تحسين حافظة Gnome Shell باستخدام Pano

دعونا نواجه الأمر ، فإن حافظة Gnome Shell الافتراضية ليست جيدة جدًا. قم بتثبيت Pano لتحسين تجربة الحافظة الخاصة بك!

كيفية تثبيت DaVinci Resolve 17 على نظام Linux

كيفية تثبيت DaVinci Resolve 17 على نظام Linux

هل تحتاج إلى محرر فيديو غير خطي رائع لمربع Linux الخاص بك؟ احصل على Davinci Resolve 17 بالعمل باستخدام هذا الدليل!

كيفية تنزيل الخلفيات على سطح مكتب Linux باستخدام برنامج Wallpaper Downloader

كيفية تنزيل الخلفيات على سطح مكتب Linux باستخدام برنامج Wallpaper Downloader

Wallpaper Downloader هو أداة تنزيل ومدير خلفية رائعة لنظام Linux. وهو يدعم معظم بيئات سطح مكتب Linux وهو سهل الاستخدام للغاية. هذا الدليل

كيفية تثبيت نظام التشغيل Tuxedo OS على جهاز الكمبيوتر الخاص بك

كيفية تثبيت نظام التشغيل Tuxedo OS على جهاز الكمبيوتر الخاص بك

هل تريد اختبار Tuxedo OS بواسطة أجهزة كمبيوتر Tuxedo؟ تعرف على كيفية الحصول على أحدث إصدار من Tuxedo OS يعمل على جهاز الكمبيوتر الخاص بك.

كيفية تثبيت ملف DEB على نظام Linux

كيفية تثبيت ملف DEB على نظام Linux

ما هو ملف DEB؟ ماذا تفعل به؟ تعرف على العديد من الطرق التي يمكنك من خلالها تثبيت ملفات DEB على جهاز كمبيوتر يعمل بنظام Linux.

كيف تلعب Dying Light على Linux

كيف تلعب Dying Light على Linux

Dying Light هي لعبة فيديو رعب للبقاء على قيد الحياة لعام 2015 تم تطويرها بواسطة Techland ونشرتها شركة Warner Bros Interactive Entertainment. تركز اللعبة على

كيفية تثبيت Neptune Linux على جهاز الكمبيوتر الخاص بك

كيفية تثبيت Neptune Linux على جهاز الكمبيوتر الخاص بك

يستخدم Neptune بيئة سطح المكتب KDE Plasma 5 ويهدف إلى تقديم نظام تشغيل أنيق. إليك كيفية تثبيت Neptune Linux على جهاز الكمبيوتر الخاص بك.

جرب سطح مكتب Ubuntu الجديد المستند إلى Snap

جرب سطح مكتب Ubuntu الجديد المستند إلى Snap

هل تريد تجربة نظام تشغيل سطح المكتب الجديد المستند إلى الحزمة الإضافية Ubuntus؟ تعرف على كيفية نشره على جهاز افتراضي باستخدام هذا الدليل.

كيف تلعب Undertale على Linux

كيف تلعب Undertale على Linux

Undertale هي لعبة RPG مستقلة ثنائية الأبعاد لعام 2015 تم تطويرها ونشرها بواسطة مطور الألعاب Toby Fox. سيغطي هذا الدليل تنزيل وتثبيت Undertale على جهازك

كيف تلعب Total War: THREE KingdomS على Linux

كيف تلعب Total War: THREE KingdomS على Linux

Total War: Three Kingdoms هي لعبة استراتيجية تعتمد على تبادل الأدوار تم تطويرها بواسطة Creative Assembly. هيريس كيف تلعب على لينكس.