En solo 3 simples pasos, puedes ejecutar tu aplicación Laravel en un contenedor Docker, desde línea de comando (CLI).
¿Pero cómo se puede hacer tan rápido?
La verdad es que tiene truco: Nos tendremos que ayudar de la herramienta Kool
1. Crea una nueva aplicación Laravel
PreRequisitos : Primero debe instalar Docker y Kool CLI si no lo ha hecho previamente.
Ejecutamos:
$ kool create laravel mi-projecto
Este comando puede tardar uno o dos minutos en completarse mientras el composer descarga las dependencias del del proyecto y de Laravel. Después se ejecutará automáticamente el comando kool preset laravel
, que ayuda a configurar el entorno de desarrollo del proyecto mediante un asistente guiado.
PHP
Elegimos la versión de php que nos interese.
? What app service do you want to use [Use arrows to move, type to filter]
> PHP 8.0
PHP 7.4
Base de datos
Elegimos la base de datos y la versión que necesitemos.
? What database service do you want to use [Use arrows to move, type to filter]
> MySQL 8.0
MySQL 5.7
MariaDB 10.5
PostgreSQL 13.0
none
Cache
Si nos interesa, elegimos que gestor de caché utilizaremos y su versión.
? What cache service do you want to use [Use arrows to move, type to filter]
> Redis 6.0
Memcached 1.6
none
Package Manager
Elegimos entre npm y yarn.
? What javascript package manager do you want to use [Use arrows to move, type to filter]
npm
> yarn
Después de haber seleccionado entre las opciones que nos ofrece la navegación guiada, se instalarán los paquetes necesarios y ya tendremos el proyecto listo en la carpeta que hayamos elegido, Ej. mi-project
o.
Accedemos al nuevo proyecto de Laravel:
$ cd mi-projecto
kool
generó automáticamente los siguientes archivos de configuración y los agregó a su proyecto. También se puede modificar y ampliar.
+docker-compose.yml
+kool.yml
2. Actualización .env
A continuación y como siempre, debemos realizar algunos ajustes en el archivo .env.example de Laravel para que coincida con los servicios en su archivo docker-compose.yml . Por ejemplo, necesitamos cambiar los hosts de localhost al nombre del contenedor de servicio apropiado, al que se puede acceder desde Docker.
Servicios de base de datos
MySQL 5.7 y 8.0 / MariaDB 10.5
-DB_HOST=127.0.0.1
+DB_HOST=database
PostgreSQL 13.0
-DB_CONNECTION=mysql
+DB_CONNECTION=pgsql
-DB_HOST=127.0.0.1
+DB_HOST=database
-DB_PORT=3306
+DB_PORT=5432
Servicios de caché
Redis
-REDIS_HOST=127.0.0.1
+REDIS_HOST=cache
Memcached
-MEMCACHED_HOST=127.0.0.1
+MEMCACHED_HOST=cache
3. Ejecutar kool run setup
Ahora, active su entorno local por primera vez utilizando el script setup
en el archivo kool.yml :
$ kool run setup
Nota : si está ejecutando este comando por primera vez, es posible que Docker tenga que descargar todas las imágenes del contenedor que se están utilizando, lo que puede demorar unos minutos.
Una vez que kool run setup
haya terminado, puede acceder a su nueva aplicación Laravel en http: // localhost .
$ kool run setup
Creating network "my-project_kool_local" with the default driver
Creating volume "my-project_database" with default driver
Creating volume "my-project_cache" with default driver
Creating my-project_cache_1 ... done
Creating my-project_app_1 ... done
Creating my-project_database_1 ... done
¡¡¡¡Y ya lo tenemos!!
Como veis es muy sencillo montar un prototipo en un contenedor lo que nos permite factorizar rápidamente prototipos de Laravel sin necesidad de tener que gastar tiempo en las configuraciones.
Espero que os haya gustado.