Aunque al instalar laravel sail crea un entorno de desarrollo con docker, éste no deja de ser un entorno sencillo con algunos contenedores adicionales como pueden ser MySql, redis y cualquier otro que se quiera instalar modificando el fichero docker-compose.yml.
En un proyecto laravel sail lo tenemos todo en uno integrado, una url para el proyecto asociado a su servidor MySql o postgreSQL, y si creamos otro proyecto de laravel tendríamos lo mismo duplicando MySql, o si quisiéramos tener varios dominios en el mismo proyecto porque tenemos web y API no podemos con una instalación estandar.
Lo primero que vamos hacer es crearnos un proyecto Laravel
composer create-project laravel/laravel lara-base
Como he comentado anteriormente Laravel sail viene por defecto cuando se crea un proyecto nuevo de Laravel y lo podemos encontrar envendor/laravel/sail
Para instalarlo en el proyecto ejecutamos el siguiente comandophp artisan sail:install
Pedirá que sistema de base de datos utilizar, se pueden elegir variosCuando el proceso haya finalizado ya podremos utilizar el entorno docker con laravel a través del comando sail.
Ejecutando el comando sail de la siguiente manera podemos ver la ayuda y las opciones que tiene
./vendor/bin/sail
Pero para no tener que escribir siempre todo el comando y poder utilizar solo sail creamos un alias en el sistemaalias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'
y ahora ya podemos utilizar solo el comando sail. Este comando es aconsejable incluirlo en el fichero .bashrc o .zshrc para que sea permanente.Para arrancar los contenedores ejecutamos:
sail up
con la opción -d ejecutaremos el comando en background.Ahora podemos mirar los containers en ejecución con
docker ps
Para ver los contenedores también se puede utilizar el comando
sail ps
Y para ver el web en el navegador utilizamos http://localhost/Ya podemos ponernos a desarrollar y probarlo de forma sencilla y fácil sin tener que instalar entornos complejos.
La versión de PHP que utiliza es la ultima que sail tenga configurada pero en el fichero docker-composer.yml podemos cambiarla modificando el campo build -> context
Ya hemos visto que para encender los containers se utiliza
sail up
Y deja el entorno en modo debug y se puder ir viendo las peticiones httpsail up -d
Lo arranca y lo deja en backgroundPara parar los contenedores:
sail stop
Para pararlos y destruirlossail down
Cualquier comando que queráis ejecutar con artisan, por ejemplo ver las rutas ahora hay que anteponer el comando sail
php artisan route:list
sail php artisan route:list
sail shell
y entramos dentro del contenedor de desarrollo con el comandosail mysql
Entramos en el terminal de MySql para poder realizar cualquier tarea de administración o consultas con la base de datos de datos.También podemos conectar a MySql con un administrador como MySql Workbench utilizando la conexión localhost y puerto 3306 y los datos de acceso que hay en el fichero .env o utilizar un docker de phpMyAdmin
Os recomiendo que miréis el comando sail donde se muestra la ayuda y los comandos que se pueden utilizar.
Y esto es todo, feliz programming
Saludos
Alex
/
También puede interesarte:
Configurar Laravel Sail para utilizar un MySql externo existente |
||