Vamos a crear una aplicación con Laravel sobre un entorno de desarrollo formado por un sistema operativo Linux, PHP y una base de datos MySQL haciendo uso de Laravel Sail y Docker.
Laravel Sail es una Interface de Línea de Comandos ( CLI ) para interactuar con un entorno de desarrollo contenerizado (Docker) el cual provee un punto de partida para construir una aplicación con Laravel haciendo uso de PHP, MySQL y Redis.
Está compuesto por un fichero docker-compose.yml, el cual contiene los contenedores de Docker y un script alojado en la ruta de tu proyecto con los métodos apropiados para interactuar con dichos contenedores.
Instalación de Laravel Sail
Laravel Sail se instala automáticamente con cada nueva aplicación de Laravel que creemos. Como estamos trabajando con Linux, Docker ya está instalado.
Pasos a seguir para la Instalación:
Paso 1 – Crear un proyecto desde la terminal con el comando:
Con esto se creará una aplicación llamada example-app en el directorio desde el que hemos ejecutado el comando.
Paso 2 – Navegamos al directorio de la aplicación y ejecutamos el comando sail up:
La primera vez que lo ejecutamos, los contenedores se construirán en la máquina. Puede que tarde varios minutos, pero en ejecuciones posteriores se montarán mucho más rápido.
En ${FORWARD_DB_PORT:-3307} cambiamos el puerto 3306 por otro (3307).
Una vez levantados los contenedores, ya puedes acceder a la aplicación con el navegador desde la dirección http://localhost .
Manejo de los Contenedores
Crear un alias para un desarrollo más productivo :
Levantar Contenedor:
Parar Contenedor:
Ejecutar Comandos con Sail
PHP
Composer
Instalar dependencias para aplicaciones existentes :
Artisan
Node / NPM
CLI
Por último, si queremos compartir nuestro sitio de forma remota, podemos hacerlo con el comando:
También te puede interesar :
Entorno de Desarrollo Local Laravel en Ubuntu para Escritorio
Sobre Ubuntu Desktop 20.04 y lo haremos instalando PHP y algunos módulos, CURL, MySQL, Composer y Laravel Installer. Nos será útil porque ciertas aplicaciones ( Multiinquilino ) no se ejecutan correctamente sobre entornos virtuales( XAMP ) o en contenedores ( Docker ).
JAAM dice
Hola, esta isntruccion me genera un proyecto de laravel9, si quisiera realizar esto mismo pero para crear un proyecto de laravel 8, se podria?
Martin M dice
La url devuelve un bash script se podria reemplazar version
curl -s
Mira en un navegador
https://laravel.build/example-app | bashcurl -s