การ ออก แบบ และ วิเคราะห์ ทาง วิศวกรรม
บรรจุภาษารูบี้บนโปรแกรม Rails กับ Docer สําหรับการผลิต
Table of Contents
การถอดรูบี้บนโปรแกรม Rails เพื่อผลิตสามารถมีความซับซ้อนได้ เนื่องจากความขึ้นต่อกันของสภาพแวดล้อม, การปรับแต่งของเครื่องแม่ข่าย การเก็บค่าด้วย Docerer จะลดกระบวนการนี้ลงได้โดยการสร้างสภาพแวดล้อมที่แยกต่างหาก บทความนี้สามารถสํารวจวิธีบรรจุโปรแกรม Rails โดยใช้ Docer สําหรับการใช้งานการผลิตแบบไม่มีประสิทธิภาพ
ทําไมต้องเก็บรูบี้ไว้ ในโปรแกรมไรล์
การบรรจุไรล์โปรแกรม มีประโยชน์มากมาย:
- [FLT: 0]. consincence: เพื่อให้แน่ใจว่าแอพนี้วิ่งในแนวทางเดียวกัน ข้ามการพัฒนา, การวางท่า, และการผลิต.
- [FLT: 0]. ความเป็นไปได้: ง่ายขึ้นในการลดขนาดตู้คอนเทนเนอร์เพื่อรับมือกับการจราจรที่เพิ่มขึ้น
- [FLT: 0]. accessation: หลีกการขัดแย้งกับโปรแกรมอื่น ๆ และการขึ้นต่อกันบนเซิร์ฟเวอร์
- [FLT: 0] ความน่าดึงดูด: ย้ายโปรแกรมระหว่างสภาพแวดล้อมโดยไม่แก้ไข
ตั้งค่าตัวจับสัญญาณสําหรับโปรแกรม Raails
เพื่อบรรจุแฟ้มโปรแกรม Rails ไว้ในคลังหลัก โดยเริ่มด้วยการสร้างแฟ้มแบบ Docer ที่กําหนดสภาพแวดล้อม แฟ้มนี้จะกําหนดภาพพื้นฐาน, แพกเกจที่ขึ้นกับแพกเกจ และคําสั่งในการประมวลผลโปรแกรม
แฟ้มที่แสดงเป็นตัวอย่างของ Doger
ด้านล่างนี้เป็นตัวอย่างของแฟ้ม Dogerfile สําหรับโปรแกรม 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"]
ตั้งค่า goker Compost สําหรับการตั้งค่ามัลติคอนเซอร์
สําหรับการผลิต เป็นเรื่องปกติที่จะใช้ Doger Compost กับการจัดการคอนเทนเนอร์หลายแบบ เช่น apps Raails และฐานข้อมูล นี่คือตัวอย่าง Doger-compost.yml file:
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
เพื่อให้แน่ใจว่าสภาพแวดล้อมของเซิร์ฟเวอร์ของคุณรองรับ Docer และ Docer Compost คุณจะสามารถเข้าใช้งานโปรแกรม Rail ได้ผ่านทางที่อยู่ IP ของเซิร์ฟเวอร์บนพอร์ต 3000
รูปแบบการวน
การ ควบคุม รูบี้ บน โปรแกรม ของ ดอก เกอร์ ไลน์ ที่ ใช้ เส้น ทาง การ ไหล, การ ปรับ ปรุง ความ เสมอ ต้น เสมอ ปลาย, และ การ ปรับ ปรุง ให้ เรียบ ง่าย ขึ้น.