Table of Contents
उत्पादन के लिए रेल अनुप्रयोगों पर रूबी को तैनात करना निर्भरता, पर्यावरण विन्यास और सर्वर सेटअप के कारण जटिल हो सकता है। डोकर के साथ कंटेनरीकरण अलग-अलग, पुन: प्रयोज्य वातावरण बनाने के द्वारा इस प्रक्रिया को सरल बनाता है। यह लेख पता लगाता है कि कैसे एक रेल एप्लिकेशन को निर्बाध उत्पादन तैनाती के लिए डोकर का उपयोग करके कंटेनरीकृत किया जाए।
क्यों रेलवे अनुप्रयोगों पर रूबी को कंटेनरीकृत?
कंटेनरीकृत रेल अनुप्रयोग कई लाभ प्रदान करता है:
- Consistency: यह सुनिश्चित करता है कि ऐप विकास, मंचन और उत्पादन के लिए एक ही रास्ता चलाता है।
- Scalability: वृद्धि हुई यातायात को संभालने के लिए आसानी से पैमाने पर कंटेनर।
- ]Isolation: सर्वर पर अन्य अनुप्रयोगों और निर्भरता के साथ संघर्ष से बचें।
- Portability: संशोधन के बिना वातावरण के बीच अनुप्रयोगों को स्थानांतरित करें।
एक रेल अनुप्रयोग के लिए डॉकर की स्थापना
एक रेल एप्लिकेशन को कंटेनर करने के लिए, एक डॉकरफ़ाइल बनाने से शुरू करें जो पर्यावरण को परिभाषित करता है। यह फ़ाइल एप्लिकेशन को चलाने के लिए आधार छवि, निर्भरता और कमांड को निर्दिष्ट करती है।
नमूना डॉकरफ़ाइल
नीचे एक रेल अनुप्रयोग के लिए एक उदाहरण डॉकरफ़ाइल है:
FROM ruby:3.1.0
# Install dependencies
RUN apt-get update -qq && apt-get install -y nodejs postgresql-client
# Set working directory
WORKDIR /app
# Add Gemfile and install gems
COPY Gemfile* /app/
RUN bundle install
# Copy the rest of the application code
COPY . /app
# Precompile assets
RUN RAILS_ENV=production bundle exec rails assets:precompile
# Expose port 3000
EXPOSE 3000
# Start the server
CMD ["bundle", "exec", "puma", "-C", "config/puma.rb"]
मल्टी-कंटेनर सेटअप के लिए डोकर कॉम्पोज़ को कॉन्फ़िगर करना
उत्पादन के लिए, कई कंटेनरों, जैसे रेल ऐप और डेटाबेस का प्रबंधन करने के लिए डोकर कॉम्पोज़ का उपयोग करना आम बात है।
version: '3.8'
services:
db:
image: postgres:13
environment:
POSTGRES_USER: railsuser
POSTGRES_PASSWORD: password
POSTGRES_DB: railsapp_production
volumes:
- db_data:/var/lib/postgresql/data
web:
build: .
ports:
- "3000:3000"
environment:
DATABASE_URL: postgres://railsuser:password@db:5432/railsapp_production
depends_on:
- db
volumes:
db_data:
उत्पादन की तैनाती
एक बार अपने कंटेनर को कॉन्फ़िगर, निर्माण और चलाने के बाद:
docker-compose build
docker-compose up -d
अपने सर्वर पर्यावरण को सुनिश्चित करें कि डॉकर और डॉकर कॉम्पोज़ का समर्थन करता है। फिर आप अपने रेल ऐप को सर्वर के आईपी पते के माध्यम से पोर्ट 3000 पर एक्सेस कर सकते हैं।
निष्कर्ष
डोकर स्ट्रीमलाइन तैनाती के साथ रेल अनुप्रयोगों पर रूबी को कंटेनरीकृत करना, स्थिरता को बढ़ाता है और स्केलिंग को सरल बनाता है। डोकरफ़ाइल बनाने और डोकर कॉम्पोज़ का उपयोग करके, डेवलपर्स कुशलतापूर्वक अपने रेल एप्लिकेशन को आत्मविश्वास के साथ उत्पादन वातावरण में ले जा सकते हैं।