Skip to content
VDS · Docker والحاويات

Docker: التثبيت على الجهاز

كيف تثبّت Docker بشكل صحيح على Debian وUbuntu وAlmaLinux، ولماذا المستودع الرسمي أفضل من حزمة النظام، وما الذي تتحقق منه مباشرة بعد التثبيت.

آخر تحديث 23 أغسطس 2026

Docker يحزم التطبيق مع بيئته بالكامل في حاوية: لا حاجة لمطابقة إصدارات المكتبات، والانتقال إلى جهاز آخر يقتصر على نسخ ملف الإعدادات. على VDS بصلاحيات root كاملة يُثبَّت بالطريقة القياسية.

التثبيت من المستودع الرسمي

تحتوي مستودعات النظام إما على إصدار قديم أو على docker.io بدون إضافة Compose v2. الفرق مهم: نصف الأدلة على الإنترنت مكتوبة من أجل docker compose الحديثة، لا docker-compose.

Debian 12 و13، Ubuntu 22.04 / 24.04 / 26.04:

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

في Ubuntu، استبدل debian بـ ubuntu في موضعين.

AlmaLinux 9 و10، CentOS Stream 9:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker

التحقق من التثبيت

docker --version
docker compose version
sudo docker run --rm hello-world
docker info | grep -E "Storage Driver|Cgroup|Docker Root Dir"

إذا نُزِّل hello-world وطبع تحيته، فكل شيء يعمل. يجب أن يكون مشغّل التخزين overlay2.

العمل بدون sudo

sudo usermod -aG docker $USER
newgrp docker

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

ما يجب إعداده فورًا

حدّد السجلات، وإلا فسيأكل حاوية واحدة كثيرة الكلام قرصك. أنشئ /etc/docker/daemon.json:

{
  "log-driver": "json-file",
  "log-opts": { "max-size": "20m", "max-file": "3" }
}
sudo systemctl restart docker

مزيد من التفاصيل — سجلات الحاويات.

كم من المساحة يستهلك

Docker نفسه حوالي 500 ميغابايت؛ تنمو الصور والأحجام من هناك. على VDS-1 بقرص 40 غيغابايت تتسع خدمتان أو ثلاث، لكن سيتعين عليك مراقبة المساحة: راجع مساحة القرص.

أخطاء شائعة

  • خلطت بين docker.io وdocker-ce. نفّذ أولًا sudo apt remove docker.io docker-compose، ثم ثبّت من المستودع الرسمي.
  • فتح Docker منفذًا متجاوزًا الجدار الناري. يكتب Docker قواعد iptables الخاصة به، ولا يراها ufw. انشر المنفذ على الواجهة المحلية — -p 127.0.0.1:8080:80 — إن لم تكن بحاجة إلى كشفه. مزيد من التفاصيل في شبكات Docker.
  • نسيت --now في systemctl على AlmaLinux. الخدمة ممكّنة لكنها غير مشغّلة؛ ستعمل بعد إعادة التشغيل، لكن ليس الآن.

التالي: Docker Compose والأحجام.