Visitas: 6
Laravel Sail es una herramienta para crear tu entorno de desarrollo de aplicaciones Laravel usando Docker. Nos permite tener todas las herramientas de desarrollo para ejecutar aplicaciones Laravel sin necesidad de instalar estos programas directamente en la PC.
Laravel Sail nos ofrece toda una abstracción a los procesos de configuración de Docker que tendríamos que hacer manualmente si queremos usar esta herramienta como entorno de desarrollo en local. Nos ofrece imágenes de Docker ya preparadas para las aplicaciones Laravel, con el servidor web, compatibilidad con PHP, MySQL o MariaDB, Redis, etc.
Laravel Sail usa las mismas herramientas que usarías si trabajases directamente con Docker (docker-compose.yml, etc.). También nos ofrece toda una serie de comandos para interaccionar con la máquina virtual donde se están ejecutando las aplicaciones.
Comprobamos la versión de composer instalada.
Entramos a la terminal y tecleamos lo siguiente:
composer --version
Sale por pantalla:
Composer version 2.1.9 2021-10-05 09:47:38
Obs:
- Usamos Ubuntu Fossa Focal 20.04 LTS.
- Asumimos que tenemos instalado docker.
- Usamos composer 2.1.9
- Instalamos Laravel 8.6.3
Creamos un nuevo proyecto en Laravel:
composer create-project laravel/laravel test_laravel_sail
Ahora entramos a la ruta de nuestro nuevo proyecto:
cd test_laravel_sail/ composer install php artisan key:generate
Levantar el servidor de desarrollo:
php artisan serve
Entramos a nuestro navegador favorito en la dirección que nos dice en la terminal. En nuestro caso sería:
http://127.0.0.1:8001
Ahora instalamos Laravel Sail:
php artisan sail:install
Nos sale por pantalla:
Which services would you like to install? [mysql]: [0] mysql [1] pgsql [2] mariadb [3] redis [4] memcached [5] meilisearch [6] minio [7] mailhog [8] selenium
Elegimos la opción 0 (mysql)
Sale por pantalla:
Sail scaffolding installed successfully.
Obs:
- Si tenés instalado MySQL Server en tu equipo con el puerto 3306, lo conveniente es cambiar el puerto del MySQL de tu entorno de desarrollo que estamos configurando. En nuestro caso usaríamos el puerto 3307.
Cambiar el puerto de MySQL:
nano .env
Agregar debajo de las constantes de la base de datos:
FORWARD_DB_PORT=3307
Guardamos los cambios (control + 0) y luego cerramos el editor de texto (control + x). Volvemos a teclear en la terminal:
./vendor/bin/sail up
Sale por pantalla:
laravel.test_1 | 2021-10-07 20:49:52,123 INFO Set uid to user 0 succeeded laravel.test_1 | 2021-10-07 20:49:52,125 INFO supervisord started with pid 16 laravel.test_1 | 2021-10-07 20:49:53,128 INFO spawned: 'php' with pid 17 laravel.test_1 | Starting Laravel development server: http://0.0.0.0:80 laravel.test_1 | [Thu Oct 7 20:49:53 2021] PHP 8.0.11 Development Server (http://0.0.0.0:80) started laravel.test_1 | 2021-10-07 20:49:54,753 INFO success: php entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Comandos útiles de Laravel Sail:
Levantar contenedor:
./vendor/bin/sail up
Parar contenedor:
./vendor/bin/sail down
Versión composer:
./vendor/bin/sail composer --version
artisan: permite acceder a artisan desde dentro del contenedor. Podemos hacer migraciones, ejecución de colas y jobs, etc
./vendor/bin/sail artisan migrate
Queue jobs:
./vendor/bin/sail artisan queue:work
¡Con Laravel Sail podrás realizar tus proyectos de Laravel usando Docker de forma sencilla!!!
Imagen destacada: Morioh
Fuente: Laravel Sail