الاتصال بخادم VDS عبر SSH: PuTTY والطرفية والمفاتيح
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
دليل Docker الشامل: التثبيت، الأوامر الأساسية (run, stop, rm, ps)، إدارة الصور، وحدات التخزين وأساسيات الشبكة على خوادم Linux.
Docker منصة مفتوحة المصدر تتيح تشغيل التطبيقات في حاويات معزولة. توفر بيئة متسقة من التطوير إلى الإنتاج. يغطي هذا الدليل تثبيت Docker والأوامر الأساسية وسيناريوهات الاستخدام العملي.
يقوم Docker بتعبئة التطبيقات وتبعياتها في حاويات قابلة للنقل. على عكس الأجهزة الافتراضية:
Docker هو حجر الأساس في تطوير البرمجيات الحديثة ونشرها. على خوادم REXE، يمكنك نشر التطبيقات بسهولة باستخدام Docker.
# إزالة الإصدارات القديمة
sudo apt remove docker docker-engine docker.io containerd runc
# تثبيت المتطلبات الأساسية
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release -y
# إضافة مفتاح GPG لـ Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# إضافة مستودع Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.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 update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
# تشغيل الخدمة وتفعيلها
sudo systemctl start docker
sudo systemctl enable docker
# إضافة مستودع Docker
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# تثبيت Docker
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
# تشغيل الخدمة
sudo systemctl start docker
sudo systemctl enable docker
# التحقق من إصدار Docker
docker --version
# تشغيل حاوية اختبار
sudo docker run hello-world
# استخدام Docker بدون sudo
sudo usermod -aG docker $USER
newgrp docker
# تشغيل حاوية بسيطة
docker run nginx
# التشغيل في الخلفية (detached)
docker run -d nginx
# مع تحويل المنافذ
docker run -d -p 8080:80 nginx
# مع اسم
docker run -d --name web-server -p 8080:80 nginx
# مع متغير بيئة
docker run -d -e MYSQL_ROOT_PASSWORD=secret --name mysql mysql:8.0
# مع تركيب وحدة تخزين
docker run -d -v /host/dir:/container/dir nginx
# سياسة إعادة التشغيل التلقائي
docker run -d --restart unless-stopped nginx
# طرفية تفاعلية
docker run -it ubuntu bash
# سرد الحاويات قيد التشغيل
docker ps
# سرد جميع الحاويات (بما فيها المتوقفة)
docker ps -a
# إيقاف حاوية
docker stop اسم_الحاوية
# تشغيل حاوية
docker start اسم_الحاوية
# إعادة تشغيل حاوية
docker restart اسم_الحاوية
# حذف حاوية (يجب إيقافها أولاً)
docker rm اسم_الحاوية
# حذف حاوية قيد التشغيل بالقوة
docker rm -f اسم_الحاوية
# حذف جميع الحاويات المتوقفة
docker container prune
# عرض سجلات الحاوية
docker logs اسم_الحاوية
# متابعة السجلات في الوقت الفعلي
docker logs -f اسم_الحاوية
# آخر 100 سطر من السجلات
docker logs --tail 100 اسم_الحاوية
# استخدام الموارد
docker stats
# تفاصيل الحاوية
docker inspect اسم_الحاوية
# الاتصال بطرفية الحاوية
docker exec -it اسم_الحاوية bash
# تنفيذ أمر في الحاوية
docker exec اسم_الحاوية ls /var/www
# تنزيل صورة
docker pull nginx
docker pull nginx:1.25
docker pull ubuntu:22.04
# سرد الصور المحلية
docker images
# حذف صورة
docker rmi nginx
# حذف الصور غير المستخدمة
docker image prune
# تنظيف جميع الموارد غير المستخدمة
docker system prune -a
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
# إنشاء صورة
docker build -t myapp:1.0 .
# رفع إلى Docker Hub
docker tag myapp:1.0 username/myapp:1.0
docker push username/myapp:1.0
تضمن وحدات التخزين استمرار البيانات حتى بعد حذف الحاويات.
# إنشاء وحدة تخزين
docker volume create database-data
# سرد وحدات التخزين
docker volume ls
# تركيب وحدة تخزين في حاوية
docker run -d -v database-data:/var/lib/mysql mysql:8.0
# Bind mount (مجلد المضيف)
docker run -d -v /root/data:/app/data nginx
# حذف وحدة تخزين
docker volume rm database-data
# حذف وحدات التخزين غير المستخدمة
docker volume prune
# سرد الشبكات
docker network ls
# إنشاء شبكة مخصصة
docker network create app-network
# توصيل الحاويات بالشبكة
docker run -d --network app-network --name web nginx
docker run -d --network app-network --name db mysql:8.0
# الحاويات في نفس الشبكة يمكنها الوصول لبعضها بالاسم
# من حاوية web: ping db
# تفاصيل الشبكة
docker network inspect app-network
docker run -d \
--name nginx-web \
-p 80:80 \
-v /var/www/html:/usr/share/nginx/html:ro \
--restart unless-stopped \
nginx:alpine
docker run -d \
--name mysql-db \
-e MYSQL_ROOT_PASSWORD=strong_password \
-e MYSQL_DATABASE=myapp \
-v mysql-data:/var/lib/mysql \
-p 3306:3306 \
--restart unless-stopped \
mysql:8.0
لإدارة حاويات متعددة، استخدم Docker Compose. يتيح لك ملف docker-compose.yml تشغيل جميع الخدمات بأمر واحد.
Docker أداة لا غنى عنها لنشر التطبيقات الحديثة. بعد إتقان الأساسيات، انتقل إلى Docker Compose لإدارة خدمات متعددة. على خوادم REXE، يتيح لك Docker تشغيل التطبيقات بشكل معزول وآمن وقابل للنقل.
تشغّل الأجهزة الافتراضية نظام تشغيل كاملاً (جيجابايتات من القرص، دقائق للبدء). تشارك حاويات Docker نواة المضيف، وتشغل ميغابايتات وتبدأ في ثوانٍ. الحاويات أخف وأسرع لكنها توفر عزلاً أقل.
Docker Volume هو تخزين مُدار في /var/lib/docker/volumes/. Bind Mount يربط مجلداً محدداً من المضيف بالحاوية. الأحجام أفضل للنقل والنسخ الاحتياطي؛ Bind Mount مفيد لمشاركة الكود في التطوير.
تُحذف البيانات داخل الحاوية، لكن البيانات المكتوبة في وحدة التخزين تبقى. استخدم دائماً وحدات التخزين للبيانات التي يجب أن تبقى: 'docker run -v data-volume:/data/path ...'.
Docker Hub هو السجل المركزي للصور الرسمية وصور المجتمع. 'docker pull nginx' يُنزّل صورة nginx من Docker Hub. يمكنك أيضاً رفع صورك الخاصة بـ 'docker push'. أنشئ حساباً مجانياً على hub.docker.com.
شغّل الحاوية مع '--restart unless-stopped'. هذا يضمن إعادة تشغيلها عند إعادة تشغيل الخادم أو تعطل الحاوية. لتحديث حاوية موجودة: 'docker update --restart unless-stopped اسم_الحاوية'.
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
دليل خطوة بخطوة للاتصال بـ Windows Server VDS عبر RDP: الإعداد الكامل، تفعيل NLA للأمان، إنشاء قاعدة تصفية Path Panel واستكشاف الأخطاء وإصلاحها.
تغيير نظام تشغيل خادم VDS عبر لوحة REXE: نصائح النسخ الاحتياطي قبل التثبيت، توزيعات Linux المدعومة وإصدارات Windows Server المتاحة للتثبيت الآن.