في عالم التطوير البرمجي السريع، أصبحت تقنية الحاويات (Containerization) بمثابة ثورة حقيقية في طريقة بناء وتوزيع وتشغيل التطبيقات. إذا كنت مطوراً أو مسؤول أنظمة في العالم العربي، وخاصة في دول الخليج مثل السعودية والإمارات والكويت، فمن المؤكد أنك سمعت عن Docker كأحد أهم الأدوات التقنية في السنوات الأخيرة. هذا الدليل الشامل صمم خصيصاً للمبتدئين العرب ليفهموا Docker من الصفر، مع التركيز على الجوانب العملية والتطبيقات الواقعية المناسبة لسوق العمل الخليجي الذي يشهد تحولاً رقمياً متسارعاً وتوجه قوي نحو تبني تقنيات DevOps والحوسبة السحابية.
|
ما هي Docker ولماذا أصبحت مهمة للمطورين العرب؟
Docker هي منصة مفتوحة المصدر تم إطلاقها في عام 2013 لتبسيط عملية تطوير، نشر، وتشغيل التطبيقات باستخدام تقنية الحاويات (Containers) . الحاوية (Container) هي وحدة برمجية خفيفة الوزن تحتوي على كل ما يحتاجه التطبيق للعمل بشكل صحيح، including الكود، وقت التشغيل، المكتبات، المتغيرات البيئية، وملفات الإعدادات .
أهمية Docker للمطورين العرب بشكل عام والخليجيين بشكل خاص تتلخص في النقاط التالية:
- حل مشكلة "يعمل على جهازي فقط" (Works on my machine): وهي من أكبر التحديات التي تواجه المطورين، حيث يعمل التطبيق بشكل صحيح على جهاز المطور ولكن يفشل في بيئات أخرى مثل بيئة الاختبار أو الإنتاج .
- تسريع عملية التطوير: تسمح Docker بإعداد بيئات تطوير متسقة وقابلة للتكرار بسرعة، مما يمكن المطورين الجدد في المشروع من البدء بسرعة دون قضاء ساعات في إعداد البيئة المحلية .
- تحسين كفاءة استخدام الموارد: على عكس الآلات الافتراضية التقليدية، تشترك الحاويات في نواة نظام التشغيل المضيف، مما يجعلها أكثر كفاءة في استخدام موارد النظام .
- دعم البنية المعمارية للخدمات المصغرة (Microservices): تعتبر Docker مثالية لتطوير وتشغيل تطبيقات الخدمات المصغرة، حيث يمكن تشغيل كل خدمة في حاوية منفصلة .
- التكامل مع أدوات DevOps: تتيح Docker التكامل السلس مع أدوات التكامل المستمر والتسليم المستمر (CI/CD)، مما يسهل أتمتة عمليات الاختبار والنشر .
في سوق العمل الخليجي الذي يشهد تحولاً رقمياً سريعاً، أصبحت Docker مهارة مطلوبة بشدة، خاصة مع توجه الشركات الكبرى في السعودية والإمارات لتبني تقنيات الحوسبة السحابية و DevOps لتحقيق المرونة والكفاءة التشغيلية.
الفروق الأساسية بين الحاويات والآلات الافتراضية التقليدية
كثير من المبتدئين يخلطون بين مفهوم الحاويات (Containers) والآلات الافتراضية (Virtual Machines)، لكن هناك فروق جوهرية بينهما من المهم فهمها:
الجانب | الحاويات (Containers) | الآلات الافتراضية (VMs) |
---|---|---|
الحجم والأداء | خفيفة الوزن، تستهلك موارد أقل، أداء أعلى | ثقيلة، تستهلك موارد أكثر، أداء أقل |
وقت البدء | ثوانٍ أو أجزاء من الثانية | دقائق في العادة |
العزل | عزل على مستوى العملية (Process-level) | عزل كامل على مستوى النظام |
نظام التشغيل | تشارك نواة نظام التشغيل المضيف | نظام تشغيل كامل منفصل لكل آلة افتراضية |
كفاءة الموارد | عالية جداً، يمكن تشغيل المئات على نفس الخادم | منخفضة، عدد محدود من الآلات الافتراضية على نفس الخادم |
الآلات الافتراضية تقوم بمحاكاة hardware كامل، مما يتطلب تخصيص موارد منفصلة لكل منها وتشغيل نظام تشغيل كامل داخل كل آلة افتراضية. بينما الحاويات تعمل على مستوى أعلى، حيث تشارك نواة نظام التشغيل المضيف ولكنها تعزل التطبيقات عن بعضها البعض .
هذا الفرق الجوهري يجعل الحاويات أكثر خفة وسرعة وكفاءة في استخدام الموارد، مما يفسر سبب اتجاه السوق التقني الخليجي السريع towards تبني تقنية الحاويات بدلاً من الآلات الافتراضية التقليدية في العديد من حالات الاستخدام.
المفاهيم الأساسية في Docker: الصور، الحاويات، السجل، وغيرها
لفهم Docker بشكل صحيح، يجب أولاً إدراك المكونات الأساسية التي تتكون منها المنصة:
- الصور (Images): هي قوالب للقراءة فقط تحتوي على مجموعة من التعليمات لإنشاء حاوية. تتضمن الصورة كل ما يحتاجه التطبيق للتشغيل: الكود، وقت التشغيل، الأدوات، المكتبات، والإعدادات. يمكن تشبيه الصورة بقرص DVD أو ISO - تحتوي على كل شيء لكنها غير نشطة حتى يتم "تشغيلها" .
- الحاويات (Containers): هي نسخة قابلة للتشغيل من صورة Docker. يمكنك إنشاء وتشغيل وإيقاف وحذف الحاويات باستخدام واجهة سطر أوامر Docker. يمكن تشبيه الحاوية بجهاز افتراضي خفيف الوزن - تعمل معزولة عن النظام المضيف ولكنها تشترك في موارد النظام .
- ملف Docker (Dockerfile): هو ملف نصي يحتوي على سلسلة من التعليمات لبناء صورة Docker. يحدد هذا الملف نظام التشغيل الأساسي، والتبعيات اللازمة، وملفات التطبيق، وأي إعدادات أخرى مطلوبة .
- سجل Docker (Docker Registry): هو مستودع لتخزين ومشاركة صور Docker. Docker Hub هو السجل العام الرسمي، ويحتوي على آلاف الصور الجاهزة للاستخدام. يمكن للشركات أيضاً إنشاء سجلات خاصة لتخزين صورها الداخلية .
- Docker Compose: هي أداة لتعريف وتشغيل تطبيقات Docker متعددة الحاويات. باستخدام ملف YAML، يمكنك تكوين خدمات التطبيق وتشغيلها جميعاً بأمر واحد .
- Docker Daemon: هو المحرك الذي يدير كل شيء (يسمى dockerd) - يبني، ويشغّل، ويدير الحاويات .
- Docker Client: هي أداة التحكم - تكتب أوامر مثل docker run ليتفاعل مع Daemon .
هذه المكونات تعمل معاً لتشكل نظام Docker المتكامل الذي يمكن المطورين من بناء وتشغيل ونشر التطبيقات في حاويات معزولة ومحمولة .
كيفية تثبيت Docker على أنظمة التشغيل المختلفة (Windows, Mac, Linux)
تثبيت Docker يختلف قليلاً حسب نظام التشغيل الذي تستخدمه. فيما يلي الخطوات الأساسية لكل نظام:
تثبيت Docker على Windows
- تحقق من متطلبات النظام: Windows 10 64-bit (الإصدار 1903 أو أعلى) مع تنشيط Hyper-V و Virtualization.
- انتقل إلى موقع Docker الرسمي وقم بتنزيل Docker Desktop for Windows.
- انقر نقراً مزدوجاً على ملف التثبيت الذي تم تنزيله (.exe) لتشغيله.
- اتبع إرشادات المعالج لإكمال التثبيت.
- أعد تشغيل الكمبيوتر عند المطالبة بذلك.
- بعد إعادة التشغيل، سيتم تشغيل Docker Desktop تلقائياً.
- افتح موجه الأوامر أو PowerShell وتحقق من التثبيت باستخدام الأمر:
docker --version
.
تثبيت Docker على macOS
- انتقل إلى موقع Docker الرسمي وقم بتنزيل Docker Desktop for Mac.
- انقر نقراً مزدوجاً على ملف .dmg الذي تم تنزيله لفتحه.
- اسحب رمز Docker إلى مجلد التطبيقات.
- افتح Docker من مجلد التطبيقات.
- قد تحتاج إلى منح أذونات مختلفة خلال عملية الإعداد.
- تحقق من التثبيت بفتح Terminal وتشغيل الأمر:
docker --version
.
تثبيت Docker على Linux (Ubuntu مثالاً)
- قم بتحديث قائمة الحزم:
sudo apt-get update
- قم بتثبيت الحزم اللازمة للسماح لـ apt باستخدام مستودع عبر HTTPS:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
- أضف مفتاح GPG الرسمي لـ Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- قم بإعداد المستودع الثابت:
echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- قم بتثبيت محرك Docker:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
- تحقق من أن Docker مثبت بشكل صحيح بتشغيل حاوية الاختبار:
sudo docker run hello-world
بعد التثبيت، يمكنك البدء في استخدام Docker عبر واجهة سطر الأوامر (Command Line) أو through واجهة Docker Desktop الرسومية المتوفرة لأنظمة Windows وMac.
أوامر Docker الأساسية التي يجب على كل مبتدئ إتقانها
إليك قائمة بأهم أوامر Docker التي ستحتاجها بشكل متكرر أثناء العمل مع المنصة:
أوامر إدارة الصور
- عرض الصور المحلية:
docker images
- تنزيل صورة من Docker Hub:
docker pull [image_name]
- حذف صورة:
docker rmi [image_id]
- بناء صورة من Dockerfile:
docker build -t [image_name] .
أوامر إدارة الحاويات
- عرض الحاويات النشطة:
docker ps
- عرض جميع الحاويات (النشطة وغير النشطة):
docker ps -a
- تشغيل حاوية:
docker run [image_name]
- تشغيل حاوية في الخلفية:
docker run -d [image_name]
- تشغيل حاوية تفاعلية:
docker run -it [image_name] sh
- إيقاف حاوية:
docker stop [container_id]
- حذف حاوية:
docker rm [container_id]
- عرض سجلات الحاوية:
docker logs [container_id]
- حذف جميع الحاويات المتوقفة:
docker container prune
أوامر أخرى مهمة
- فحص معلومات عن صورة أو حاوية:
docker inspect [name]
- تنفيذ أمر في حاوية قيد التشغيل:
docker exec -it [container_id] [command]
- عرض إحصاءات استخدام الموارد:
docker stats
هذه الأوامر تشكل الأساس للتعامل مع Docker عبر سطر الأوامر. مع التمرين والممارسة، ستصبح هذه الأوامر طبيعة ثانية لك ك مطور .
إنشاء أول حاوية Docker عملية: تطبيق ويب باستخدام Node.js
لنطبق ما تعلمناه حتى الآن، سنقوم بإنشاء تطبيق ويب بسيط باستخدام Node.js وتشغيله داخل حاوية Docker. اتبع هذه الخطوات:
- إنشاء دليل للمشروع:
mkdir docker-node-app cd docker-node-app
- إنشاء ملف package.json:
{ "name": "docker-node-app", "version": "1.0.0", "description": "تطبيق Node.js بسيط باستخدام دوكر", "main": "server.js", "scripts": { "start": "node server.js" }, "dependencies": { "express": "^4.18.2" } }
- إنشاء ملف server.js:
const express = require('express'); const app = express(); const PORT = process.env.PORT || 3000; app.get('/', (req, res) => { res.send('مرحبًا بك في تطبيق Node.js باستخدام دوكر!'); }); app.listen(PORT, () => { console.log(التطبيق يعمل على المنفذ ${PORT}); });
- إنشاء ملف Dockerfile:
# استخدام صورة Node.js الرسمية كصورة أساسية FROM node:14 إنشاء دليل العمل WORKDIR /usr/src/app نسخ ملفات package.json و package-lock.json COPY package*.json ./ تثبيت التبعيات RUN npm install نسخ ملفات المشروع COPY . . كشف المنفذ 3000 EXPOSE 3000 تشغيل التطبيق CMD ["node", "server.js"]
- بناء صورة Docker:
docker build -t my-node-app .
- تشغيل الحاوية:
docker run -p 3000:3000 my-node-app
الآن يمكنك فتح متصفح الويب والانتقال إلى http://localhost:3000
لرؤية التطبيق قيد التشغيل داخل حاوية Docker!
هذه التجربة العملية البسيطة توضح كيف يمكنك تغليف تطبيقك بكافة تبعياته في حاوية مستقلة يمكن تشغيلها على أي نظام يدعم Docker، وهو ما يحل مشكلة "يعمل على جهازي فقط" التي يعاني منها الكثير من المطورين في العالم العربي.
كتابة Dockerfile: دليل عملي خطوة بخطوة
ملف Dockerfile هو قلب عملية بناء صور Docker، وهو ملف نصي يحتوي على تعليمات لبناء الصورة. فيما يلي شرح مفصل للتعليمات الأساسية في Dockerfile:
- FROM: تحدد الصورة الأساسية التي ستبني عليها صورتك. يفضل استخدام الصور الرسمية من Docker Hub.
FROM node:14-alpine
- WORKDIR: تحدد دليل العمل داخل الحاوية حيث سيتم نسخ الملفات وتنفيذ الأوامر.
WORKDIR /usr/src/app
- COPY: نسخ الملفات والمجلدات من النظام المضيف إلى الصورة.
COPY package*.json ./
- RUN: تنفيذ أوامر أثناء عملية بناء الصورة، مثل تثبيت التبعيات.
RUN npm install
- EXPOSE: inform Docker أن الحاوية تستمع على منافذ شبكة محددة في وقت التشغيل.
EXPOSE 3000
- CMD
CMD ["node", "server.js"]
ENV NODE_ENV=production
ARG APP_VERSION=1.0.0
لنرى مثالاً متكاملاً لملف Dockerfile لتطبيق Node.js:
# استخدام صورة أساسية خفيفة الوزن
FROM node:14-alpine
# تعيين متغيرات بيئة
ENV NODE_ENV=production
ENV PORT=3000
# إنشاء دليل التطبيق
WORKDIR /app
# نسخ ملفات التبعيات أولاً (للاستفادة من caching في Docker)
COPY package*.json ./
# تثبيت التبعيات
RUN npm install --only=production
# نسخ ملفات التطبيق
COPY . .
# كشف المنفذ الذي يستمع عليه التطبيق
EXPOSE 3000
# تعريف الأمر لبدء التطبيق
CMD ["node", "server.js"]
هذا الهيكل يحسن من كفاءة عملية البناء عن طريق الاستفادة من caching في Docker، حيث يتم نسخ ملفات التبعيات وتثبيتها أولاً، ثم نسخ باقي الملفات لاحقاً. هذا يعني أنه عند إجراء تغييرات على الكود دون تغيير التبعيات، يمكن لـ Docker إعادة استخدام الطبقات المحفوظة في الذاكرة المؤقتة، مما يسرع عملية البناء بشكل ملحوظ .
إدارة تطبيقات متعددة الحاويات باستخدام Docker Compose
في التطبيقات الواقعية، نادراً ما تعمل التطبيقات بمعزل عن غيرها. عادة ما تحتاج إلى عدة خدمات متصلة معاً، مثل تطبيق ويب، قاعدة بيانات، خادم كاش، وغيرها. هنا يأتي دور Docker Compose كأداة لتعريف وتشغيل تطبيقات متعددة الحاويات .
لنفترض أننا نريد إنشاء تطبيق يتكون من خدمة Node.js وقاعدة بيانات MongoDB. إليك كيف يمكننا استخدام Docker Compose لإدارة هذا التطبيق:
- إنشاء ملف docker-compose.yml:
version: '3' services: web: build: . ports: - "3000:3000" depends_on: - mongo environment: - MONGO_URL=mongodb://mongo:27017/myapp volumes: - .:/app - /app/node_modules mongo: image: mongo ports: - "27017:27017" volumes: - mongo-data:/data/db volumes: mongo-data:
- تشغيل التطبيق باستخدام Docker Compose:
docker-compose up
- لتشغيل التطبيق في الخلفية:
docker-compose up -d
- لإيقاف التطبيق:
docker-compose down
في ملف docker-compose.yml أعلاه، قمنا بتعريف خدمتين:
- web: وهي خدمة تطبيق الويب التي يتم بناؤها من Dockerfile في الدليل الحالي، وتعرض المنفذ 3000، وتعتمد على خدمة mongo، وتحتوي على بعض متغيرات البيئة وأحجام التخزين.
- mongo: وهي خدمة قاعدة البيانات التي تستخدم صورة mongo الرسمية، وتعرض المنفذ 27017، وتستخدم volume لحفظ البيانات بشكل دائم.
ميزة Docker Compose أنه يمكنك تعريف وتشغيل جميع خدمات تطبيقك بأمر واحد، مما يسهل عملية التطوير والاختبار والنشر .
هذه الأداة مفيدة بشكل خاص للمطورين في الخليج الذين يعملون على تطبيقات Enterprise التي تتكون عادة من عديد services، حيث توفر وقتاً وجهداً كبيراً في إعداد وإدارة بيئات التطوير والتجربة.
أفضل الممارسات الأمنية والفعّالة في Docker
بعد إتقان الأساسيات، من المهم تعلم أفضل الممارسات لضمان أن استخدامك لـ Docker آمن وفعال:
- استخدم صور رسمية وموثوقة: استخدم الصور الرسمية من Docker Hub عندما يكون ذلك ممكناً، فهي تخضع للصيانة والتحديث المنتظم وتتبع أفضل الممارسات الأمنية .
- اجعل الصور خفيفة الوزن: استخدم صور أساسية خفيفة الوزن مثل Alpine Linux عندما يكون ذلك ممكناً. تجنب تثبيت حزم غير ضرورية داخل الحاوية .
- استخدم .dockerignore: أنشئ ملف .dockerignore لاستبعاد الملفات والمجلدات غير الضرورية من سياق البناء، مما يقلل من حجم الصورة ويسرع عملية البناء .
- لا تشغّل الحاويات كـ root: لأسباب أمنية، تجنب تشغيل الحاويات بصلاحيات root. أنشئ مستخدمين محدودي الصلاحيات داخل الحاوية واستخدمهم لتشغيل التطبيقات .
- مسح البيانات الحساسة: تجنب تضمين البيانات الحساسة مثل كلمات المرور ومفاتيح API في صور Docker. استخدم متغيرات البيئة أو آليات الأسرار الخاصة بـ Docker .
- التحديث المنتظم: حافظ على تحديث صورك الأساسية ومكتباتك لإصلاح الثغرات الأمنية المعروفة .
- مسح الطبقات غير الضرورية: في ملف Dockerfile، اجمع الأوامر المتعددة في أمر RUN واحد وامسح الملفات المؤقتة لتقليل حجم الصورة النهائي:
RUN apt-get update && \ apt-get install -y package && \ rm -rf /var/lib/apt/lists/*
- استخدم multi-stage builds:对于 التطبيقات المترجمة، استخدم multi-stage builds لتقليل حجم الصورة النهائية:
# مرحلة البناء FROM node:14 as builder WORKDIR /app COPY . . RUN npm install && npm run build مرحلة التشغيل FROM node:14-alpine WORKDIR/app COPY--from=builder /app/dist ./dist COPY package*.json./ RUN npm install--only=production EXPOSE 3000 CMD["node", "dist/server.js"]
هذه الممارسات لا تحسن الأداء والأمان فحسب، بل also تجعل تطبيقاتك أكثر احترافية وقابلية للصيانة على المدى الطويل .
أخطاء شائعة يجب تجنبها عند استخدام Docker للمبتدئين
كثير من المبتدئين يقعون في أخطاء شائعة عندما يبدأون باستخدام Docker. إليك بعض هذه الأخطاء وكيفية تجنبها:
- تخزين البيانات داخل الحاوية: البيانات داخل الحاوية مؤقتة وستفقد عند إزالة الحاوية. استخدم Volumes أو bind mounts للتخزين الدائم للبيانات .
- بناء صور كبيرة الحجم: تجنب إضافة ملفات غير ضرورية للصورة. استخدم .dockerignore واستخدم صور أساسية خفيفة .
- كشف جميع المنافذ: لا تعرض جميع منافذ الحاوية للعالم الخارجي. اعرض فقط المنافذ الضرورية للتشغيل .
- استخدام latest tag دائماً: تجنب استخدام latest tag للإصدارات productionية لأنها قد تسبب كسراً في التطبيق. استخدم tags محددة للإصدارات .
- نسيان حذف الحاويات والصور غير المستخدمة: حاويات والصور غير المستخدمة تستهلك مساحة تخزين. نظفها بشكل دوري باستخدام:
docker system prune
- تجاهل السجلات (Logs): logs الحاوية تحتوي على معلومات قيمة للتصحيح. تابعها باستخدام:
docker logs [container_id]
- تشغيل multiple processes في حاوية واحدة
بتجنب these الأخطاء الشائعة، ستوفر على نفسك الكثير من الوقت والمجهول وتضمن that تجربة Docker الخاصة بك سلسة and منتجة.
نصائح متقدمة للمطورين الخليجيين للاستفادة القصوى من Docker
بعد إتقانك للأساسيات وتجنب الأخطاء الشائعة، إليك بعض النصائح المتقدمة للاستفادة القصوى من Docker في بيئة العمل الخليجية:
- Integrate Docker with CI/CD Pipelines: استخدم Docker في أنابيب CI/CD لأتمتة عملية بناء، اختبار، ونشر التطبيقات. يمكنك استخدام أدوات مثل Jenkins, GitLab CI, أو GitHub Actions مع Docker .
- Use Docker in Cloud Environments
- Implement Container Orchestration
- Monitor Container Performance
- Secure Your Container Environment
- Optimize for Arabic Applications: عند بناء تطبيقات عربية، تأكد من أن صور Docker تدوت encoding UTF-8 وتحتوي على الخطوط العربية اللازمة if needed.
- Participate in Local Docker Communities
these النصائح المتقدمة will help you transition from مبتدئ to محترف in استخدام Docker، and make you more valuable في سوق العمل الخليجي competitive.
الخاتمة: مستقبل Docker في السوق التقني الخليجي
Docker ليست مجرد أدة عابرة، بل هي تقنية أساسية غيرت طريقة تطوير وتشغيل التطبيقات على مستوى العالم. للمطورين والخبراء التقنيين في دول الخليج، يمثل إتقان Docker فرصة ذهبية لتعزيز مهاراتهم والمساهمة في التحول الرقمي الذي تشهده المنطقة.
من خلال هذا الدليل الشامل، تعلمت الأساسيات النظرية والعملية لـ Docker، بدءاً من المفاهيم الأساسية، passing through التثبيت والأوامر، ووصولاً إلى إنشاء تطبيقات كاملة باستخدام Docker و Docker Compose. also تعلمت أفضل الممارسات والأخطاء الشائعة وكيفية تجنبها.
الآن حان الوقت لتبدأ رحلتك العملية مع Docker. جرب الأمثلة العملية في هذا الدليل، ثم انتقل إلى تطبيقاتك الشخصية أو المهنية. تذكر أن أفضل way لتعلم Docker هي through الممارسة والتجربة العملية.
ابدأ today بتحويل تطبيقاتك إلى حاويات، وشارك تجربتك مع المجتمع التقني في your country. future التقني في الخليج مشرق، and Docker ستلعب دوراً مهماً في هذا future.
الاسالة شائعة
ما هو الفرق بين Docker والآلات الافتراضية التقليدية؟
الفرق الرئيسي هو أن الآلات الافتراضية تحتاج إلى نظام تشغيل كامل لكل منها، بينما الحاويات تشترك في نواة نظام التشغيل المضيف. هذا يجعل الحاويات أخف وزناً وأسرع وأكثر كفاءة في استخدام الموارد .
هل يمكن تشغيل Docker على أنظمة Windows Home؟
نعم، يمكن تشغيل Docker Desktop على Windows Home بالإصدارات الحديثة، لكنه يتطلب تفعيل خاصية WSL 2 (Windows Subsystem for Linux version 2) والتي أصبحت مدعومة على Windows Home بدءاً من الإصدار 1903 .
كيف أتحقق من أن Docker يعمل بشكل صحيح على نظامي؟
يمكنك التحقق من صحة التثبيت بتنفيذ الأمر التالي في terminal أو command prompt: docker --version
. ثم جرب تشغيل حاوية الاختبار: docker run hello-world
.
ما هي تكلفة استخدام Docker؟
Docker Community Edition (CE) مجاني تماماً للاستخدام الشخصي والتعليمي. بينما Docker Enterprise Edition (EE) هو نسخة مدفوعة تدعمها enterprise features والدعم الرسمي، وهي موجهة للشركات الكبيرة .
كيف أضمن أمان تطبيقي داخل حاوية Docker؟
هناك عدة practices لضمان الأمان، including: استخدام صور موثوقة، تحديث الصور بانتظام، عدم تشغيل الحاويات كـ root، استخدام متغيرات البيئة للبيانات الحساسة بدلاً من تضمينها في الصورة، ومسح الطبقات غير الضرورية .
المصدر:
www.taqniahweb.com
يسعدنا أنك وصلت إلى نهاية هذا الدليل حول شرح Docker للمبتدئين: دليل شامل خطوة بخطوة لتقنية الحاويات من الصفر إلى الاحتراف، والذي حرصنا فيه على تقديم شرح مفصل خطوة بخطوة. إذا وجدت المحتوى مفيداً، فلا تبخل بمشاركته مع أصدقائك، ولا تنسى متابعة مدونتنا لاكتشاف المزيد من الشروحات والأدوات.