أول حاوية (Container) لك: تشغيل سيرفر ويب Nginx بكلمة واحدة
اليوم سنتعلم كيف نبدأ رحلتنا مع الحاويات (Containers) بتشغيل خادم ويب Nginx في Docker بكلمة واحدة.
سنكتشف قوة Docker وسهولة استخدامه في نشر التطبيقات وإدارتها بكفاءة عالية.
الخطوة 1: التحقق من تثبيت Docker
قبل أن نتمكن من تشغيل أي حاوية، يجب التأكد من أن Docker مثبت ويعمل على نظامك. يمكنك التحقق من ذلك باستخدام الأوامر التالية في سطر الأوامر (Terminal):
docker --version # يعرض إصدار Docker المثبت على جهازك
docker info # يعرض معلومات مفصلة عن بيئة Docker (يجب أن يعمل الديمون)
ملاحظة تقنية: إذا لم يكن Docker مثبتاً، يرجى زيارة الموقع الرسمي لـ Docker (docker.com) واتباع تعليمات التثبيت الخاصة بنظام التشغيل الخاص بك.
الخطوة 2: سحب وتشغيل حاوية Nginx
الآن، لنقم بتشغيل خادم ويب Nginx في حاوية Docker. الأمر التالي سيقوم بسحب صورة Nginx إذا لم تكن موجودة محلياً، ثم تشغيلها كحاوية:
docker run \
-d \
-p 80:80 \
--name my-nginx \
nginx
docker run: الأمر الأساسي لتشغيل حاوية جديدة.-d: (detached mode) يشغل الحاوية في الخلفية، مما يسمح لك بمواصلة استخدام سطر الأوامر.-p 80:80: (port mapping) يربط المنفذ 80 على جهازك المضيف بالمنفذ 80 داخل الحاوية. هذا يسمح لك بالوصول إلى Nginx عبرlocalhost.--name my-nginx: يعطي اسمًا فريدًا للحاوية (في هذه الحالة،my-nginx) لسهولة الإشارة إليها لاحقًا.nginx: اسم الصورة التي نريد تشغيلها. سيقوم Docker تلقائيًا بسحب أحدث إصدار من صورة Nginx الرسمية من Docker Hub إذا لم تكن موجودة محليًا.
الخطوة 3: التحقق من عمل الخادم
للتحقق مما إذا كانت حاوية Nginx تعمل بشكل صحيح، يمكنك استخدام الأوامر التالية:
docker ps # يعرض قائمة بالحاويات قيد التشغيل حالياً
curl http://localhost # يرسل طلب HTTP إلى خادم Nginx الذي يعمل على المنفذ 80
ملاحظة تقنية: إذا لم يكن
curlمثبتًا، يمكنك ببساطة فتح متصفح الويب الخاص بك والذهاب إلىhttp://localhost. يجب أن تشاهد صفحة ترحيب Nginx الافتراضية.
الخطوة 4: إدارة الحاوية (إيقاف وحذف)
عند الانتهاء من استخدام حاوية Nginx، يمكنك إيقافها وحذفها لتوفير موارد النظام. تذكر أن إيقاف الحاوية لا يحذفها، بل يوقف تشغيلها فقط.
docker stop my-nginx # يوقف الحاوية المسماة 'my-nginx'
docker rm my-nginx # يحذف الحاوية المسماة 'my-nginx' بشكل دائم
الكود النهائي الكامل
هذا هو السكربت الكامل لتشغيل خادم Nginx وإدارته بخطوة واحدة:
#!/bin/bash
# التحقق من تثبيت Docker (اختياري ولكن موصى به)
if ! command -v docker &> /dev/null
then
echo "Docker غير مثبت. يرجى تثبيته أولاً." >&2
exit 1
fi
echo "جارٍ تشغيل حاوية Nginx..."
# إيقاف وحذف أي حاوية سابقة بنفس الاسم لتجنب التعارض (اختياري)
docker stop my-nginx &> /dev/null
docker rm my-nginx &> /dev/null
# تشغيل حاوية Nginx في الخلفية وربط المنفذ 80
docker run -d -p 80:80 --name my-nginx nginx
# التحقق من أن الحاوية قيد التشغيل
if [ $? -eq 0 ]; then
echo "تم تشغيل Nginx بنجاح!"
echo "يمكنك الآن الوصول إليه عبر http://localhost"
echo "لعرض حالة الحاوية: docker ps"
echo "لإيقاف وحذف الحاوية: docker stop my-nginx && docker rm my-nginx"
else
echo "حدث خطأ أثناء تشغيل Nginx."
fi
النتيجة المتوقعة
عند تشغيل الأمر docker run -d -p 80:80 --name my-nginx nginx، سترى معرّف الحاوية (Container ID) مطبوعًا في سطر الأوامر. عند التحقق باستخدام docker ps، ستظهر حاويتك my-nginx قيد التشغيل.
وعند زيارة http://localhost في متصفح الويب الخاص بك أو استخدام curl http://localhost، ستظهر لك رسالة ترحيب Nginx الافتراضية:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
هذا يؤكد أن خادم Nginx يعمل بنجاح داخل حاوية Docker الخاصة بك!