פיזור רובי על יישומי Rails לייצור יכול להיות מורכב בשל תלות, תצורה הסביבה, והגדרת השרת. Containerization עם Docker מפשט תהליך זה על ידי יצירת סביבות מבודדות, הדדיות. מאמר זה חוקר כיצד להטמיע אפליקציית Rails באמצעות Docker עבור פריסת ייצור חלקה.

למה לצרף רובי על יישומי רכבת?

יישומי Rails המכילים מציעה יתרונות רבים:

  • (ב) ,0) ,Consistency:FLT:1 מבטיח את היישום פועל באותה דרך על פני פיתוח, עוקץ, ייצור.
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ,0) ,Isolation:0) ,1:1 להימנע מסכסוכים עם יישומים אחרים ותלויים בשרת.
  • (ב) ⁇ :0) ,5 ,1) הזיזו יישומים בין סביבות ללא שינוי.

קביעת Docker for a Rails Application

כדי להכליל אפליקציית Rails, להתחיל על ידי יצירת דוקרפטה המגדירה את הסביבה.קובץ זה מפרט את תמונת הבסיס, התלויות, ופקודות כדי להפעיל את האפליקציה.

תגית: Dockerfile

להלן דוגמה לאפליקציית Rails:

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"]

עריכת דוקר Compose for Multi-Container

לייצור, זה נפוץ להשתמש Docker Compose כדי לנהל מספר מכולות, כגון אפליקציית Rails ואת מסד הנתונים.כאן קובץ docker-compose.yml:

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:

המונחים: production

לאחר שהגדרת, בנה ולנהל את המכולות:

docker-compose build
docker-compose up -d

ודא סביבת השרת שלך תומכת Docker ו Docker Compose.You יכול לגשת אפליקציית Rails שלך באמצעות כתובת IP של השרת על הנמל 3000.

מסקנה

המכיל רובי על יישומי Rails עם פריסת Docker, משפר את העקביות, וסימולציות מדרגות. על ידי יצירת דוקרנן ושימוש Docker Compose, מפתחים יכולים ביעילות להעביר את יישומי הרכבות שלהם לתוך סביבות ייצור עם ביטחון.