Docker एक ऐप और उसकी हर ज़रूरत को एक कंटेनर में पैक करता है जो हर जगह वैसे ही चलता है — VPS पर सेवाओं को self-host करने का सबसे साफ़ तरीक़ा। 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. (वैकल्पिक) sudo के बिना Docker चलाएँ
sudo usermod -aG docker $USER
# ग्रुप प्रभावी होने के लिए लॉगआउट करके वापस लॉगिन करें
यह केवल उस यूज़र के लिए करें जिस पर आप भरोसा करते हैं — docker-ग्रुप की पहुँच होस्ट पर प्रभावी रूप से root के बराबर है।
एक झटपट असली कंटेनर
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:808080 को उजागर करता है — Docker को UFW फ़ायरवॉल के साथ जोड़ें। - बॉक्स का आकार कंटेनरों के हिसाब से रखें, Docker के हिसाब से नहीं, जो ख़ुद हल्का है।
आगे के क़दम
Docker इंस्टॉल हो जाने पर आप लगभग कुछ भी self-host कर सकते हैं। देखें एक IP के पीछे कई सेवाओं को self-host करना, या ठोस Docker बिल्ड जैसे RustDesk रिमोट-डेस्कटॉप सर्वर और Uptime Kuma मॉनिटरिंग। किसी डोमेन और HTTPS को सामने लगाने के लिए, देखें nginx रिवर्स प्रॉक्सी कैसे सेट करें।
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।