Laravel Sail (imagen destacada)

Tiro monedas al aire, pero hasta ahora nunca las pude agarrar.

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
Laravel
Laravel

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


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *