Docker आपको डेटाबेस, वेब ऐप और टूल अलग-थलग कंटेनरों में चलाने देता है, ताकि कुछ नया इंस्टॉल करने से आपके बाक़ी सर्वर में गड़बड़ न हो। यह गाइड Ubuntu पर Docker Engine और Docker Compose इंस्टॉल करती है और पहली असली सर्विस चलाती है।
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. sudo के बिना Docker चलाएँ
sudo usermod -aG docker $USER
newgrp docker
docker ग्रुप के सदस्यों के पास मशीन पर व्यावहारिक रूप से रूट-स्तर की ताक़त होती है, इसलिए सिर्फ़ भरोसेमंद यूज़र जोड़ें।
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 सेल्फ़-होस्ट करने की गाइड देखें।