Laravel Sail, dockeriza tu entorno de desarrollo Laravel

arrow_back Blog

Laravel Sail es una interfaz de línea de comandos sencilla para interactuar con el entorno de desarrollo Docker predeterminado de Laravel. Sail proporciona un excelente punto de partida para crear una aplicación Laravel con PHP, MySQL y Redis sin necesidad de tener experiencia previa en Docker.

Si no tienes conocimientos de Docker no te pierdas este curso.

Laravel Sail es compatible con Linux, Mac y Windows, pero en el caso de Windows vía WSL2 (Windows Subsystem for Linux). El proceso para hacer funcionar Laravel Sail en Windows no es complejo, pero dependiendo del entorno puede ser bastante pesado.

¿Por qué utilizar Laravel Sail?

Si trabajas en entornos Linux o Mac no tendrás demasiados problemas para configurar tus entornos, hoy en día es una tarea bastante sencilla. En cambio si te encuentras en Windows, instalar y configurar herramientas como Redis o Memcached puede resultar más complejo.

Independientemente del entorno en el que nos encontremos, Laravel Sail nos puede facilitar la vida enormemente para configurar entornos de desarrollo complejos sin configuraciones por nuestra parte. Para que te hagas una idea, los siguientes son los servicios que podemos utilizar en Laravel Sail con 0 configuraciones.

  • mysql

  • pgsql

  • mariadb

  • redis

  • memcached

  • meilisearch

  • minio

  • selenium

  • mailhog

Requisitos para utilizar Laravel Sail

Lo primero que necesitamos para utilizar Laravel Sail es instalar el cliente de Docker, es una herramienta multiplataforma que una vez instalada nos ofrecerá una interfaz para poder controlar nuestro trabajo a través de Docker.

Crear un proyecto con Laravel Sail

La forma más sencilla de crear un proyecto con Laravel Sail es utilizar el siguiente comando en cualquiera de sus versiones.

Instalar Laravel Sail en un proyecto existente

También es posible instalar Laravel Sail en un proyecto existente, para ello, simplemente ejecuta los siguientes comandos en tu proyecto Laravel.

Arrancar un proyecto Laravel con Laravel Sail

En cualquiera de los casos de cómo haya sido creado el proyecto, arrancarlo es muy sencillo. Primero, debemos arrancar Docker, a continuación, debemos ejecutar el comando sail up. El problema es que el comando sail no existe en nuestro entorno, ya que sail está ubicado en nuestro proyecto vendor/bin/sail. Mi recomendación y la de Laravel es crear un alias de la siguiente forma.

Si somos capaces de crear un alias, podremos ejecutar el siguiente comando para arrancar nuestro proyecto.

En caso contrario deberemos ejecutar lo siguiente.

Ejecutar comandos en un proyecto Laravel Sail

En este punto debemos entender que Docker crea entornos aislados de nuestra computadora, por este motivo, las versiones de Php, MySQL o Composer que podamos tener instaladas en nuestro equipo no son las mismas que las que estaremos utilizando en nuestro proyecto con Laravel Sail.

Para ejecutar cualquier comando y que éste afecte a nuestro proyecto debemos estar en un terminal ubicados en el directorio del proyecto en cuestión y ejecutar algunos de los siguientes comandos, todos a modo de ejemplo para que te hagas a la idea.

Acceder a MySQL desde nuestro lado con Laravel Sail

Esta es una pregunta que siempre está dando vueltas por los foros. Docker no es realmente nuestro entorno, por ende, no podemos conectarnos de forma directa, es como si quisiéramos conectarnos a una máquina que no es nuestra. En el caso de MySQL, para conectar desde nuestro entorno debemos ajustar nuestro .env añadiendo la siguiente variable de entorno.

Una vez hecho, te recomiendo reiniciar tu entorno desde el cliente de docker y acceder a tu base de datos con tu DBMS preferido utilizando las siguientes credenciales.

Compartir nuestro sitio con Laravel Sail

Muchas veces necesitamos compartir nuestro sitio por varios motivos, mostrar nuestro trabajo a nuestros clientes o simplemente para dar acceso a Webhooks en entorno de desarrollo cuando todavía no tenemos nuestro sitio publicado. Gracias a Laravel Sail este proceso se convierte en algo muy sencillo, sólo debemos ejecutar el siguiente comando dentro de nuestro proyecto y podremos exponer nuestro proyecto local a todo el mundo durante 30 minutos.


Puedes ver que Laravel Sail es una poderosa herramienta para facilitar nuestro entorno de desarrollo con Laravel.

Si te ha gustado esta entrada, compártela con tus conocidos.

Sigue aprendiendo Laravel Sail a través de un completo ejemplo en este curso gratuito de Laravel Livewire.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2022 © Todos los derechos reservados.

Contacto