Ketersediaan Ruby pada aplikasi Rails untuk produksi dapat kompleks karena ketergantungan, konfigurasi lingkungan, dan setup server. Kontainerisasi dengan Docker simplasi proses ini dengan menciptakan lingkungan terisolasi, dapat diperbaiki. Artikel ini mengeksplorasi bagaimana untuk menkontainase aplikasi Rails menggunakan Docker untuk pengolah produksi tanpa jahit.

Mengapa Membina Ruby pada Aplikasi Rails?

Aplikasi Menyatukan Kereta Api menawarkan banyak manfaat:

  • [[CharfLT:0]]Consistensi: Mengepastikan aplikasi berjalan sama dengan melintasi pengembangan, staging, dan produksi.
  • [[CANFAILT:0]]Scalability: Mudahnya wadah skala untuk menangani peningkatan lalu lintas.
  • Isolasi: Hindari konflik dengan aplikasi lain dan dependensi pada server.
  • [[CALT:0]]Portability: Alih aplikasi antar lingkungan tanpa modifikasi.

Pemerlu yang Beroperasi untuk Aplikasi Rails

Untuk mempamerkan aplikasi Rails, mulai dengan membuat Dockerfile yang mendefinisikan lingkungan. Berkas ini menentukan gambar dasar, dependensi, dan perintah untuk menjalankan aplikasi.

Sampel sampel Dockerfile

Di bawah ini adalah contoh Dockerfile untuk aplikasi 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"]

Konfigurasi Docker Gubah untuk Persediaan Multi-Penjaga

Untuk produksi, biasa digunakan Docker Compose untuk mengelola beberapa kontainer, seperti aplikasi Rails dan database.

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:

Meledakkan Diri ke Produksi

Setelah dikonfigurasi, membangun dan menjalankan kontainer Anda:

docker-compose build
docker-compose up -d

Pastikan lingkungan server anda mendukung Docker dan Docker Compose. Anda kemudian dapat mengakses aplikasi Rails anda melalui alamat IP server di port 3000.

Kekecualian Kesimpulan

Menyapu Kekanen Ruby pada aplikasi Rails dengan penyebaran jalur aliran Docker, meningkatkan konsistensi, dan mempersederhana penskalaan.Dengan menciptakan Dockerfile dan menggunakan Docker Compose, pengembang dapat secara efisien memindahkan aplikasi Rails mereka ke lingkungan produksi dengan keyakinan.