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 والأحجام.