Primeros pasos con Laravel Sail

Nicolás F. Ormeño Rojas
2 min readJan 30, 2021

--

Photo by Antoine Petitteville on Unsplash

Laravel Sail es una interfaz de comandos que nos permite trabajar de manera sencilla con Docker. Su utilización es bastante sencilla, ya que no requiere experiencia previa con Docker.

Lo que ofrece es una ambiente con PHP, MySQL y Redis.

Además de esto, es multi-plataforma, lo que quiere decir que podemos utilizarlo tanto Linux, MacOS y Windows.

Esto es una gran utilidad para lograr levantar un ambiente para nuestros desarrollos, de manera muy rápida.

Crear proyecto

Para crear un proyecto Laravel con Sail, debemos ejecutar:

curl -s https://laravel.build/<nombre-proyecto> | bash

En donde el nombre del proyecto, es lo que nosotros definamos, por ejemplo:

curl -s https://laravel.build/laravel-sail-example | bash

Levantar y detener contenedores

El comando anterior genera un directorio con el nombre del proyecto indicado, por lo que ingresamos a él

cd laravel-sail-example

Para levantar la instancia lo hacemos simplemente con el comando “up”

./vendor/bin/sail up

En caso de querer levantarlo en background, debemos agregar la opción “-d”, por ejemplo

./vendor/bin/sail up -d

Una vez levantado, sólo queda http://localhost, y ya veremos nuestro proyecto corriendo.

Para detener todo, simplemente ejecutamos

./vendor/bin/sail down

Ejecución de comandos

Para ejecutar los comandos, como artisan, sólo tenemos que agregar Sail antes del comando, por ejemplo

./vendor/bin/sail composer dump-autoload
./vendor/bin/sail npm run dev
./vendor/bin/sail tinker

Conexión a base de datos

La conexión a la base de datos se hace cómo nos conectaríamos a cualquier DB. Para obtener los datos de conexión, debemos revisar el archivo .env, en donde vemos algo como lo siguiente

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel_passport_example
DB_USERNAME=root
DB_PASSWORD=
Ilustración 1 Conexión a base de datos

Es importante considerar que para la base de datos se genera un volumen, por lo que nuestra data es persistente.

Exponer sitio

Si vemos la necesidad de exponer nuestro sitio, Sail nos permite generar un túnel para lograr

./vendor/bin/sail share

Extras

Si queremos evitar estar escribiendo siempre la ruta de Sail, podemos generar un alias, vamos a nuestro archivo de configuración como .profile, .bash_profile, .zshrc u otro, y agregamos lo siguiente

alias sail='bash vendor/bin/sail'

Luego, al mismo archivo le aplicamos source, para tomar los cambios (ejemplo: source .zshrc). Después de esto, en lugar de ejecutar ./vendor/bin/sail, sólamente ejecutamos sail.

--

--

Nicolás F. Ormeño Rojas
Nicolás F. Ormeño Rojas

No responses yet