Rails 6: corriendo sobre Docker con PHPMyAdmin
Un día, estaba usando Windows. Desde la llegada de WSL , quería jugar un poco con una aplicación en Rails. Sólo por la diversión de practicar mis habilidades en Docker. ¿El único requerimiento para mí? Usar Alpine Linux, muy conocido por el pequeño tamaño de imagen que generan.
Después de un par de horas de dolor y sufrimiento, lo conseguí. Mis contenedores Docker estaban trabajando como esperaba y estaba listo para trabajar. Aquí presento todos los archivos y soluciones que usé.
🐳 Dockerfile
Primero, creé el archivo Dockerfile
para el contenedor Ruby. La ruta fue .docker/Dockerfile
📦 Docker compose
Después de eso, podemos crear nuestro archivo docker-compose.yml
. Para este caso, usaremos un combo Ruby + MySQL 8.0 + PHPMyAdmin. Probablemente te estés preguntando, ¿por qué PHPMyAdmin? Es porque no tengo otra herramienta UI SQL en mi computadora Linux y no quiero usar la línea de comandos por ahora.
En el container PHPMyAdmin necesitamos el password del usuario root, porque queremos ejecutar operaciones “de alto nivel” sobre nuestras bases de datos.
Las carpetas extra dbdocker
y dbdocker_init
puedes agregarlas a tu proyecto si quieres ejecutar comandos en tu contenedor MySQL. Recuerda que una vez agregadas, necesitas ignorarlas desde Git, donde los archivos de la base de datos permanecerán. Es una buena práctica crear un archivo vacío .gitkeep
o .keep
dentro de la carpeta e ignorarlo. A continuación la regla que uso en mi .gitignore
Recuerda que puedes usar un archivo .env y luego agregar
env_file: - .env
a tu archivo docker-compose (removiendo la sección environment por contenedor, antes), si no quieres hacer commit de tus valores env o si los cambias frecuentemente.