Implementación de la aplicación Rails con docker-compose
Actualmente tengo un entorno bastante estándar: nginx + web (Rails) + trabajador (Sidekiq) + Postgres + Redis + Contenedores de datos (almacenamiento de archivos y almacenamiento de base de datos).
El proceso de implementación parece bastante sencillo: - actualizar el código fuente; - reconstruir contenedor (es); - ejecutar migraciones; - Detener viejos y lanzar nuevos contenedores;
porweb
(rieles) ydata
(pg) contenedores sería algo como esto:docker-compose build && docker-compose run web rake db:migrate && docker-compose up -d
.
¿Existen mejores prácticas y esta solución es compatible con ellas? Capistrano utiliza el enfoque de lanzamientos (con capacidad de retroceder): ¿es aplicable este enfoque con Docker? ¿Es posible usar Docker y Capistrano?
Comparta sus soluciones o enlaces a historias de éxito.
¡Gracias!