يتيح لك Docker تشغيل قواعد البيانات وتطبيقات الويب والأدوات في حاويات معزولة، فلا يفسد تثبيت أي شيء جديد بقية خادمك. يثبّت هذا الدليل Docker Engine وDocker Compose على Ubuntu ويشغّل أول خدمة حقيقية.
1. التثبيت من مستودع Docker
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
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
تحقق من التثبيت باستخدام sudo docker run hello-world.
2. تشغيل Docker دون sudo
sudo usermod -aG docker $USER
newgrp docker
أعضاء المجموعة docker يملكون عمليًا صلاحيات بمستوى root على الجهاز، لذا أضف فقط المستخدمين الذين تثق بهم.
3. أول ملف Compose لك
أنشئ مجلدًا وملف compose.yaml يشغّل أداة المراقبة Uptime Kuma:
mkdir -p ~/kuma && cd ~/kuma
cat > compose.yaml <<'EOF'
services:
kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
ports:
- "127.0.0.1:3001:3001"
volumes:
- ./data:/app/data
EOF
docker compose up -d
الربط بالعنوان 127.0.0.1 يُبقي المنفذ بعيدًا عن الإنترنت العام. ضع وكيلًا عكسيًا مثل Nginx أو Caddy أمامه عندما تريد الوصول إليه من الخارج.
أوامر يومية
- يعرض
docker psالحاويات العاملة. - يتابع
docker compose logs -fالسجلات مباشرة. - يحدّث
docker compose pull && docker compose up -dإلى صور أحدث. - يزيل
docker system pruneالصور غير المستخدمة والحاويات المتوقفة.
تحذير أمني بشأن جدران الحماية
يكتب Docker قواعد iptables الخاصة به. قد يكون المنفذ المنشور بالصيغة "8080:80" متاحًا من الإنترنت حتى لو قال UFW إنه محجوب. انشر فقط ما يجب أن يكون عامًا، واربط الخدمات الخاصة بالعنوان 127.0.0.1، واختبر من الخارج بماسح منافذ.
ماذا تشغّل بعد ذلك
من التطبيقات الشائعة للاستضافة الذاتية Nextcloud وVaultwarden وGitea وPlausible وn8n وJellyfin. راجع دليلنا حول الاستضافة الذاتية لـ Nextcloud للحصول على مثال كامل.