Skip to content

Cómo instalar Laravel en contenedores

Laravel es uno de los marcos de trabajo para desarrollo web más usados, al ser una herramienta que abarca diferentes aspectos del desarrollo web en un solo lugar, es frecuentemente escogida por su variedad de herramientas que simplifican el proceso de creación de sistemas.

Introducción

La manera más sencilla de correr Laravel, independientemente del sistema operativo que uses, es utilizando contenedores. Los contenedores de Docker están disponibles en Linux, Mac y Windows. Esto permite a equipos con diferentes plataformas, ejecutar el mismo proyecto sin tener que preocuparse por dependencias, o sistemas externos como base de datos.

Antes de instalar Laravel, es necesario instalar Docker Desktop Al tener Docker desktop instalado, podremos usar los comandos de Laravel Sail para administrar los contenedores.

Instalando Laravel

La instalación de Laravel varía un poco dependiendo del sistema operativo. Aquí les pondré como hacerlo para Linux, Mac y Windows.

Para instalar Laravel, abrimos la terminal y navegamos al directorio donde queremos crear nuestra aplicación. Ejecutamos el siguiente comando. Donde my-laravel-app es el nombre de la carpeta del proyecto.

Información

Asegúrate que el nombre solo incluya caracteres alfanuméricos, guiones horizontales y guiones bajos.

Comando de Instalación para MacOS:

sh
curl -s "https://laravel.build/my-laravel-app" | bash

Advertencia

Antes de correr el comando de Windows, asegúrate de tener instalado Docker Desktop y que el WSL (Windows Subsystem for Linux) esté instalado y habilitado. Puedes conocer como instalar WSL aquí. Luego de instalar WSL, también asegúrate que Docker Desktop esté configurado para usar WSL. Es muy recomendable que ejecutes el comando de instalación dentro de la carpeta home de la distribución de Linux que uses para WSL. Hacerlo ahí tiene ventajas de rendimiento vs. si se hace dentro del disco C:

Comando de Instalación para Linux o Windows (WSL):

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

Información

Si les aparece el mensaje “Docker is not running”, es necesario que Docker este corriendo para que el comando funcione correctamente.

Es posible que el comando les pida la contraseña del usuario, esto es necesario para poder colocar los permisos de la carpeta correctamente.

Una vez finalizado con éxito, deben ver un mensaje similar a este:

sh
Application ready! Build something amazing.
Sail scaffolding installed successfully.

Please provide your password so we can make some final adjustments to your application's permissions.

Password:

Thank you! We hope you build something incredible. Dive in with: cd my-laravel-app && ./vendor/bin/sail up

Una vez terminado, navegamos al directorio de la aplicación en la terminal con cd my-laravel-app y ejecutamos los contenedores con ./vendor/bin/sail up. La primera vez que se ejecuta este comando, va a tardar un poco ya que la aplicación va a construir los contenedores necesarios. Sin embargo, las veces subsiguientes será mucho más rápido.

Una vez los contenedores estén arriba, la consola mostrara información similar a esta:

sh
my-laravel-app-mysql-1         | 2022-05-29T18:54:38.584635Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.28'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server - GPL.
my-laravel-app-meilisearch-1   | [2022-05-29T18:54:46Z INFO  actix_web::middleware::logger] 127.0.0.1 "GET /health HTTP/1.1" 200 22 "-" "Wget" 0.013543
my-laravel-app-meilisearch-1   | [2022-05-29T18:55:16Z INFO  actix_web::middleware::logger] 127.0.0.1 "GET /health HTTP/1.1" 200 22 "-" "Wget" 0.000049
my-laravel-app-mailhog-1       | [APIv1] KEEPALIVE /api/v1/events
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:39 2022] 172.22.0.1:62972 Accepted
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62972 Closing
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62974 Accepted
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62974 Closing
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 Accepted
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 [200]: GET /favicon.ico
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 Closing

Y podrán navegar a http://localhost para acceder a la aplicación.

Laravel home

Consejo

Para detener los contenedores, solo es necesario presionar “Ctrl + C” en la terminal.