Dockerizando Aplicaciones Ruby on Rails: Guía Completa
Aprende a containerizar tus aplicaciones Rails con Docker, desde configuración básica hasta despliegue en producción con Docker Compose.
¿Por qué Docker con Rails?
Docker revoluciona el desarrollo de aplicaciones Rails al proporcionar entornos consistentes y reproducibles. Elimina el clásico "funciona en mi máquina".
Dockerfile para Rails
Comencemos con un Dockerfile optimizado para Rails:
FROM ruby:3.2.0-alpine
# Instalar dependencias del sistema
RUN apk add --no-cache build-base postgresql-dev nodejs yarn git
WORKDIR /app
# Instalar gems
COPY Gemfile Gemfile.lock ./
RUN bundle install
# Copiar código de la aplicación
COPY . .
# Precompilar assets
RUN bundle exec rails assets:precompile
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]
Docker Compose para Desarrollo
Un archivo docker-compose.yml completo:
version: '3.8'
services:
db:
image: postgres:15
environment:
POSTGRES_PASSWORD: password
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
web:
build: .
ports:
- "3000:3000"
depends_on:
- db
environment:
DATABASE_URL: postgresql://postgres:password@db:5432/myapp_development
volumes:
- .:/app
volumes:
postgres_data:
Docker no solo facilita el desarrollo, sino que garantiza que tu aplicación funcione igual en todos los entornos.
Tabla de Contenidos
Sobre el Autor
Michel Sánchez Montells
Desarrollador Full-Stack | Experto en Ruby on Rails | Defensor de TDD
Desarrollador Full-Stack especializado en Ruby on Rails con más de 8 años de experiencia. Apasionado por TDD y las mejores prácticas de desarrollo.