يحزم Docker تطبيقًا وكل ما يحتاجه في حاوية تعمل بالطريقة نفسها في أي مكان — أنظف طريقة لاستضافة الخدمات ذاتيًا على VPS. المشكلة الوحيدة على Ubuntu وDebian أن النسخة الموجودة في مستودع التوزيعة الخاص غالبًا قديمة وتُشحَن بلا إضافة Compose الحديثة. ثبّت من مستودع Docker الرسمي بدلًا من ذلك. إليك العملية كاملة.
1. أعدّ مستودع Docker الرسمي (Ubuntu)
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/ubuntu/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/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2. ثبّت Docker Engine وCompose
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. تأكّد أنه يعمل ومفعّل عند الإقلاع
sudo systemctl enable --now docker
sudo docker run --rm hello-world
تُنزَّل حاوية hello-world وتطبع رسالة نجاح وتخرج — إثبات أن المحرّك يعمل.
4. (اختياري) شغّل Docker دون sudo
sudo usermod -aG docker $USER
# اخرج وادخل مجددًا كي يسري أثر المجموعة
افعل هذا فقط لمستخدم تثق به — الوصول عبر مجموعة docker يعادل فعليًا الجذر على المضيف.
حاوية حقيقية سريعة
docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# زر http://YOUR.SERVER.IP:8080
--restart unless-stopped هو ما يجعل الحاوية تعود بعد إعادة الإقلاع.
تحذيرات صادقة
- استخدم المستودع الرسمي لنسخة حديثة؛ حزمة
docker.ioفي التوزيعة متأخرة وتفتقر إلى إضافة Compose. - افتح فقط المنافذ التي تنشرها. خيار
-p 8080:80في الحاوية يكشف المنفذ 8080 — اقرن Docker بـجدار UFW الناري. - حجّم الجهاز حسب الحاويات، لا حسب Docker نفسه، فهو خفيف.
الخطوات التالية
بعد تثبيت Docker يمكنك استضافة أي شيء تقريبًا ذاتيًا. راجع استضافة عدّة خدمات خلف IP واحد، أو أمثلة Docker ملموسة مثل خادم سطح مكتب بعيد RustDesk ومراقبة Uptime Kuma. لوضع نطاق وHTTPS في الواجهة، راجع كيف تُعدّ وكيلًا عكسيًا nginx.
التعليقات
لا تعليقات بعد. كن الأول.