كيفية إنشاء صورة 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

Leave a Comment

قم بتنزيل FlightGear Flight Simulator مجانًا [استمتع]

قم بتنزيل FlightGear Flight Simulator مجانًا [استمتع]

يحتاج الجميع إلى استراحة بين الحين والآخر، فإذا كنت تبحث عن لعبة شيقة، جرّب Flight Gear. إنها لعبة مجانية مفتوحة المصدر ومتعددة المنصات.

تشخيصات MP3: إصلاح ما يصل إلى 50 مشكلة في ملفات الصوت MP3

تشخيصات MP3: إصلاح ما يصل إلى 50 مشكلة في ملفات الصوت MP3

MP3 Diags هي الأداة الأمثل لإصلاح مشاكل ملفاتك الصوتية. يمكنها وسم ملفات MP3 بشكل صحيح، وإضافة أغلفة الألبومات المفقودة، وإصلاح خلل VBR.

تطبيقات إشعارات سطح المكتب من Google Voice

تطبيقات إشعارات سطح المكتب من Google Voice

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

تنزيل مفضلات Flickr باستخدام FlickrFaves

تنزيل مفضلات Flickr باستخدام FlickrFaves

هناك العديد من الأدوات التي تتيح لمستخدمي فليكر تنزيل صورهم بجودة عالية، ولكن هل هناك طريقة لتنزيل مفضلات فليكر؟ لقد وصلنا مؤخرًا

OK Sampler هو برنامج مجاني لأخذ عينات موسيقية

OK Sampler هو برنامج مجاني لأخذ عينات موسيقية

ما هو أخذ العينات؟ وفقًا لويكيبيديا، "هو عملية أخذ جزء، أو عينة، من تسجيل صوتي واحد وإعادة استخدامه كأداة أو

النسخ الاحتياطي لمواقع Google: الاستيراد/التصدير

النسخ الاحتياطي لمواقع Google: الاستيراد/التصدير

مواقع جوجل هي خدمة من جوجل تتيح للمستخدم استضافة موقع ويب على خادم جوجل. ولكن هناك مشكلة واحدة، وهي عدم وجود خيار مدمج للنسخ الاحتياطي.

تطبيق مهام Google لسطح المكتب

تطبيق مهام Google لسطح المكتب

لا تعد مهام Google شائعة مثل خدمات Google الأخرى مثل التقويم وWave وVoice وما إلى ذلك، ولكنها لا تزال مستخدمة على نطاق واسع وتشكل جزءًا لا يتجزأ من حياة الأشخاص.

كيفية استعادة الأقسام المفقودة وبيانات القرص الصلب [دليل]

كيفية استعادة الأقسام المفقودة وبيانات القرص الصلب [دليل]

في دليلنا السابق حول مسح القرص الصلب والوسائط القابلة للإزالة بشكل آمن عبر Ubuntu Live وقرص تمهيد DBAN، ناقشنا أن القرص الذي يعمل بنظام Windows

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

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

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

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

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

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