VPS पर Docker के साथ शुरुआत करना

ApexVPS टीम द्वारा लिखित • अंतिम अपडेट: जुलाई 2026 • 8 मिनट पढ़ें

VPS पर Docker चलाना खाली Ubuntu बॉक्स से मिनटों में चालू वेब ऐप, डेटाबेस या सेल्‍फ-होस्टेड सेवा तक पहुंचने का सबसे तेज़ तरीका है। सिस्टम पैकेज और विरोधाभासी डिपेंडेंसियों से जूझने के बजाय, आप एक प्‍री-बिल्‍ट इमेज खींचते हैं और एक कंटेनर शुरू करते हैं। यह शुरुआती गाइड आपको Ubuntu या Debian पर Docker और Docker Compose इंस्‍टॉल करने, आपको चाहिए मुख्य अवधारणाएं, अपना पहला कंटेनर लॉन्च करने, वॉल्यूम के साथ डेटा बनाए रखने, और कुछ सुरक्षा मूल बातें सिखाता है ताकि आप जले नहीं।

VPS पर Docker क्यों चलाएं?

एक वर्चुअल प्राइवेट सर्वर आपको पूर्ण रूट एक्सेस और समर्पित संसाधन देता है, जो कंटेनरों के लिए बिल्कुल वही है जो वे चाहते हैं। Docker इंस्टॉल होने पर आप कई अलग-अलग सेवाओं को साइड-बाय-साइड चला सकते हैं बिना वे एक-दूसरे के रास्ते में आए। हर कंटेनर अपनी लाइब्रेरी के साथ आता है, इसलिए एक Node ऐप, एक Postgres डेटाबेस, और एक रिवर्स प्रॉक्सी एक ही मशीन पर साफ-सुथरे ढंग से सह-अस्तित्व में रह सकते हैं। यदि आपका लक्ष्य VPS पर सेल्फ-होस्टिंग ऐप्स है — जैसे पर्सनल क्लाउड, विकी, या मीडिया सर्वर — तो Docker हर सेवा को व्यवस्थित और प्रतिलिपि योग्य बनाता है।

कंटेनर पोर्टेबल भी हैं। वही Compose फ़ाइल जो आपके लैपटॉप पर चलती है, वही सर्वर पर चलती है, जो क्लासिक "मेरी मशीन पर चलता है" समस्या को समाप्त करती है। गलती के बाद किसी सेवा को दोबारा बनाने में सेकंड लगते हैं, न कि पैकेज फिर से इंस्टॉल करने में आधा दिन।

सरल भाषा में मूल अवधारणाएँ

कमांड लाइन से पहले, चार प्रमुख भागों को जानना उपयोगी है:

चरण 1: Ubuntu या Debian पर Docker इंस्टॉल करें

Docker Engine इंस्टॉल करने का सबसे सरल, आधिकारिक तरीका convenience script है। अपने सर्वर पर SSH से कनेक्ट करें और चलाएँ:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

यह Docker Engine और Compose प्लगइन इंस्टॉल करता है। पूरा होने पर, वर्ज़न जाँचें:

docker --version
docker compose version

डिफ़ॉल्ट रूप से Docker को sudo की आवश्यकता होती है। इसे सामान्य उपयोगकर्ता के रूप में चलाने के लिए, अपने आप को docker समूह में जोड़ें, फिर लॉग आउट और लॉग इन करें ताकि परिवर्तन प्रभावी हो:

sudo usermod -aG docker $USER

Docker अधिकांश सिस्टम पर बूट पर भी शुरू होता है। यदि आपको कभी इसे मैन्युअल रूप से सक्षम करने की आवश्यकता हो:

sudo systemctl enable --now docker

क्या आप पैकेज-रिपॉजिटरी विधि पसंद करेंगे या अपने वितरण के लिए पूरे विवरण चाहेंगे? आधिकारिक Docker इंस्टॉलेशन दस्तावेज़ हर विकल्प को कवर करता है। ऊपर दिया गया convenience script नए VPS के लिए आदर्श है।

चरण 2: अपना पहला कंटेनर चलाएँ

क्लासिक hello-world इमेज के साथ इंस्टॉल का परीक्षण करें:

docker run hello-world

Docker इमेज खींचता है, इसे एक बार चलाता है, और पुष्टि संदेश प्रिंट करता है। अब कुछ ऐसा चलाएँ जो आप वास्तव में देख सकें। यह कमांड पृष्ठभूमि में एक Nginx वेब सर्वर शुरू करता है और होस्ट के पोर्ट 8080 को कंटेनर के पोर्ट 80 से मैप करता है:

docker run -d -p 8080:80 --name web nginx

ब्राउज़र में http://your-server-ip:8080 खोलें और आपको Nginx स्वागत पृष्ठ दिखाई देगा। कुछ फ़्लैग जानने योग्य हैं:

क्या चल रहा है यह जाँचें, फिर समाप्त होने पर कंटेनर को रोकें और हटाएँ:

docker ps
docker stop web
docker rm web

कुछ ही कमांड अधिकांश दिन-प्रतिदिन के काम करते हैं। docker images आपके द्वारा खींची गई इमेजों की सूची दिखाता है, docker logs web समस्या निवारण के लिए कंटेनर का आउटपुट दिखाता है, और docker exec -it web bash चल रहे कंटेनर के अंदर एक शेल खोलता है। ये पाँच-छह कमांड सीखना छोटे सर्वर को प्रबंधित करने के लिए पर्याप्त है, और बाकी आवश्यकता के अनुसार देख सकते हैं।

चरण 3: मल्टी-कंटेनर ऐप्स के लिए Docker Compose का उपयोग करें

लंबे docker run कमांड टाइप करना जल्दी पुराना हो जाता है। Docker Compose आपको अपने पूरे स्टैक को एक फ़ाइल में वर्णित करने और एक कमांड से शुरू करने की सुविधा देता है। compose.yaml नाम की फ़ाइल बनाएँ:

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - web-data:/usr/share/nginx/html
    restart: unless-stopped

volumes:
  web-data:

उसी डायरेक्टरी से, सब कुछ बैकग्राउंड में शुरू करें:

docker compose up -d

Compose आपके लिए नेटवर्क, नामित वॉल्यूम और कंटेनर बनाता है। उपयोगी साथी:

docker compose ps
docker compose logs -f
docker compose down

restart: unless-stopped नीति का मतलब है कि रीबूट या क्रैश के बाद सेवा अपने आप वापस आ जाती है — यह उस सर्वर के लिए सुविधाजनक है जिसे आप चौबीसों घंटे नहीं देख रहे हैं।

चरण 4: वॉल्यूम के साथ डेटा स्थायी रूप से सहेजें

यह वह हिस्सा है जो शुरुआती अक्सर गलत करते हैं। कंटेनर के अपने फ़ाइल सिस्टम के अंदर लिखी गई कोई भी चीज़ कंटेनर हटाए या फिर से बनाए जाने पर गायब हो जाती है। डेटा रखने के लिए, इसे वॉल्यूम में डालें। दो सामान्य तरीके हैं:

कमांड लाइन से वॉल्यूम निरीक्षण और प्रबंधित करें:

docker volume ls
docker volume inspect web-data

जब तक आपके महत्वपूर्ण पथ वॉल्यूम की ओर इशारा करते हैं, आप पूरे दिन कंटेनरों को हटा और फिर से बना सकते हैं बिना एक बाइट खोए। वॉल्यूम डायरेक्टरी को अपने सर्वर बैकअप के हिस्से के रूप में बैक अप करें।

चरण 5: छवियों और कंटेनरों को अपडेट करें

कंटेनर छवियों को किसी भी सॉफ़्टवेयर की तरह सुरक्षा और फ़ीचर अपडेट मिलते हैं। Compose स्टैक को अपडेट करना दो-चरणीय दिनचर्या है: नई छवियों को खींचें, फिर कंटेनरों को फिर से बनाएँ।

docker compose pull
docker compose up -d

क्योंकि आपका डेटा वॉल्यूम में रहता है, पुनः निर्माण सुरक्षित है। समय के साथ, अप्रयुक्त छवियां जमा हो जाती हैं और डिस्क स्थान खा जाती हैं। उन्हें कभी-कभी साफ करें:

docker image prune

जब आप आश्चर्य के बजाय पूर्वानुमानित, दोहराए जाने योग्य अपडेट चाहते हैं, तो विशिष्ट संस्करण टैग पर पिन करें (उदाहरण के लिए latest के बजाय postgres:16)।

शुरुआती लोगों के लिए बुनियादी Docker सुरक्षा

कंटेनर सुविधाजनक हैं, लेकिन वे जादुई सुरक्षा सीमा नहीं हैं। कुछ आदतें आपको परेशानी से बचाती हैं:

कुछ भी सार्वजनिक रूप से एक्सपोज़ करने से पहले, हमारी साथी जाँच सूची देखें कि कैसे पहले 10 मिनट में अपने VPS को सुरक्षित करें — इसमें SSH कुंजियाँ, फ़ायरवॉल और स्वचालित अपडेट शामिल हैं जो Docker होस्ट के साथ पूरी तरह से मेल खाते हैं।

Docker के लिए तैयार VPS चुनना

Docker मामूली हार्डवेयर पर चलता है, लेकिन एक बार जब आप कई कंटेनर स्टैक करते हैं तो समर्पित संसाधन वास्तविक अंतर पैदा करते हैं। साझा, ओवरसोल्ड होस्टिंग का मतलब है कि शोर पड़ोसी सबसे खराब समय पर आपके डेटाबेस को थ्रॉटल कर सकता है। ApexVPS आपको वास्तव में समर्पित vCPU, NVMe SSD स्टोरेज और पूर्ण रूट एक्सेस देता है, ताकि आपके कंटेनरों को वह प्रदर्शन मिले जो आपने भुगतान किया है। हर प्लान Ubuntu, Debian और अन्य लोकप्रिय वितरणों का समर्थन करता है, और आप साइनअप पर अपनी SSH कुंजी डाल सकते हैं।

भुगतान केवल क्रिप्टो में OxaPay के माध्यम से होता है, जो Bitcoin, Ethereum, USDT और 30+ क्रिप्टोकरेंसी स्वीकार करता है — न क्रेडिट कार्ड, न बैंक खाता, और न ही KYC। आप एक्सेस विवरण प्राप्त करने के लिए केवल एक ईमेल प्रदान करते हैं, और बस। अपने कंटेनर वर्कलोड के लिए उपयुक्त प्लान खोजने हेतु ApexVPS मूल्य सूची पृष्ठ पर स्पेक्स और क्षेत्रों की तुलना करें।

अक्सर पूछे जाने वाले प्रश्न

क्या VPS पर Docker चलाने के लिए बहुत अधिक RAM की आवश्यकता होती है?

नहीं। Docker स्वयं हल्का होता है और बहुत कम ओवरहेड जोड़ता है। एक या दो कंटेनर 2 GB RAM पर आराम से चलते हैं, जबकि 4 GB या अधिक डेटाबेस और कई सेवाओं के लिए जगह देता है।

क्या यह docker-compose है या docker compose?

आधुनिक इंस्टॉलेशन में, Compose एक प्लगइन के रूप में आता है, इसलिए कमांड है docker compose (स्पेस के साथ)। पुराना स्टैंडअलोन docker-compose बाइनरी अभी भी काम करता है लेकिन चरणबद्ध तरीके से हटाया जा रहा है — नए सेटअप पर प्लगइन संस्करण का उपयोग करें।

कंटेनर हटाए जाने पर मेरा डेटा कहाँ संग्रहीत होता है?

कंटेनर के अंदर लिखी गई कोई भी चीज़ हटाने पर खो जाती है। महत्वपूर्ण डेटा को नामित वॉल्यूम या बाइंड माउंट में संग्रहीत करें ताकि यह कंटेनर पुनर्निर्माण पर बना रहे। इसी तरह डेटाबेस और अपलोड सुरक्षित रहते हैं।

क्या मैं क्रिप्टोकरेंसी से Docker-तैयार VPS के लिए भुगतान कर सकता हूँ?

हाँ। ApexVPS चेकआउट केवल क्रिप्टो है और यह OxaPay के माध्यम से Bitcoin, Ethereum, USDT और 30+ सिक्के स्वीकार करता है। साइनअप के लिए केवल ईमेल चाहिए, न क्रेडिट कार्ड और न ही पहचान सत्यापन।

अपना पहला कंटेनर शुरू करने के लिए तैयार? Docker-तैयार VPS प्लान देखें →