Laravel Sail y entorno local con Docker

Intermedio
Laravel
Laravel
Actualizado: 01/04/2026

Qué es Laravel Sail

Laravel Sail es la interfaz oficial basada en Docker para desarrollar Laravel sin instalar PHP, Composer ni la base de datos directamente en tu máquina. Define servicios en docker-compose.yml y comandos ./vendor/bin/sail sustituyen a php y composer dentro del contenedor.

Sail es especialmente útil en equipos donde todos deben tener el mismo entorno y en formación corporativa donde se evita depender de instalaciones locales heterogéneas.

En la práctica, tú ejecutas Sail en tu equipo, pero PHP, Composer y tanto los servicios como la base de datos corren dentro de contenedores definidos por Docker Compose.

flowchart LR
  subgraph equipo [Equipo del desarrollador]
    T[Terminal]
    S[Sail]
  end
  subgraph contenedores [Contenedores Docker]
    P[PHP y aplicación Laravel]
    D[Servicio de base de datos]
    R[Redis u otros servicios]
  end
  T --> S
  S --> P
  P --> D
  P --> R

Instalación en un proyecto nuevo

Al crear el proyecto puedes incluir Sail:

curl -s "https://laravel.build/mi-app" | bash
cd mi-app
./vendor/bin/sail up -d

En un proyecto existente:

composer require laravel/sail --dev
php artisan sail:install

Salida de Composer al añadir el paquete  como dependencia de desarrollo

Asistente  seleccionando servicios Docker para el entorno

El asistente pregunta qué servicios activar (MySQL, Redis, Mailpit, etc.). Tras instalar, arranca los contenedores:

./vendor/bin/sail up -d

La aplicación queda disponible en el puerto configurado (por defecto 80 u 8080 según versión).

Comandos habituales

Ejecutar Artisan, Composer o NPM dentro del contenedor:

./vendor/bin/sail artisan migrate
./vendor/bin/sail composer require paquete/ejemplo
./vendor/bin/sail npm run dev

Puedes crear un alias alias sail='./vendor/bin/sail' en tu shell para acortar los comandos.

Buenas prácticas

  • Versionar el docker-compose.yml generado por Sail para que todo el equipo use la misma imagen.
  • No subir volúmenes con datos sensibles al repositorio; usar .env y secretos fuera del control de versiones.
  • En CI/CD, los tests pueden ejecutarse con imágenes Docker equivalentes al stack de Sail.
Alan Sastre - Autor del tutorial

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Laravel es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.

Más tutoriales de Laravel

Explora más contenido relacionado con Laravel y continúa aprendiendo con nuestros tutoriales gratuitos.

Aprendizajes de esta lección

Levantar un proyecto Laravel con Sail y servicios Docker (MySQL, Redis)

Cursos que incluyen esta lección

Esta lección forma parte de los siguientes cursos estructurados con rutas de aprendizaje