En general, Docker y los contenedores son algo con lo que todo desarrollador tiene que familiarizarse tarde o temprano y mas cuando se trabaja en equipo. En este articulo explicare la instalación de Docker Desktop en Windows 10 y 11, cómo se integra con Windows Subsystem for Linux (WSL) 2, y cómo utilizar la nueva herramienta de línea de comandos de Laravel, Laravel Sail, para ponerse en marcha con Laravel en poco tiempo.
Prerrequisitos
- Tener WSL 2
- Tener Windows 10 o WIndows 11
1. Instalar Docker Desktop
En primer lugar, asegúrate de que tiene instalados los requisitos previos antes de continuar con la instalación. Puedes encontrar instrucciones sobre cómo instalar WSL2 en este articulo:
Descarga Docker y sigue las instrucciones de instalación habituales para instalar Docker Desktop y asegúrate de que la casilla «Instalar los componentes de Windows necesarios para WSL 2» esté marcada en el proceso de instalación.
Descargar Docker
Cuando la instalación de Docker Desktop haya finalizado, deberías tener acceso a Docker desde WSL.
Si este comando, por alguna razón, no funciona para en distribución Linux.
- Ejecuta Docker Desktop.
- Ve a Settings > Resources > WSL Integration.
- Habilita la opción Enable integration with your distribution y habilita tu Distribución Linux También.
- Y haz click en Apply & Restart.
Ahora, vamos a comprobar que todo funciona ejecutando el contenedor Docker’sgetting-started. En tu terminal, ejecuta el siguiente comando:
docker run -d -p 80:80 docker/getting-started
Ahora deberías poder acceder al tutorial de inicio en http://localhost/ . Si nunca has usado Docker antes, recomiendo absolutamente que le eches un vistazo a la documentacion ya que esta muy bien explicada.
Antes de continuar, asegúrate de detener o eliminar el contenedor «getting-started» que ejecutamos previamente, ya que interferirá con Laravel Sail.
2. Como Usar Laravel Sail
Al crear una nueva aplicación de Laravel, Laravel Sail se instala automáticamente. Pero si ya tienes una aplicación existente, tendrás que seguir un par de pasos:
1. Requiere usar composer
:
composer require laravel/sail --dev
Ejecuta el comando sail:install Artisan, que publicará el archivo docker-compose.yml en la raíz de tu aplicación:
php artisan sail:install
3. Ejecuta el comando sail up
con el cual ejecutaremos el contenedor:
./vendor/bin/sail up
Y eso es todo, ahora, si visitas http://127.0.0.1 o localhost Laravel debería ver la pagina de bienvenida por defecto de laravel.
El contenedor Laravel Sail alberga todo lo que Laravel requiere, y no necesitaremos instalar nada más en nuestro ordenador local si no queremos. Podemos volver a desarrollar nuestra aplicación.
Para mayor comodidad, crea un alias para Sail para que sea más fácil trabajar con él:
alias sail="bash ./vendor/bin/sail"
Aquí tenemos unos cuantos comandos de Laravel Sail que os serán de utilidad:
sail up
sail down
sail artisan queue:work
sail php --version
sail composer require laravel/sanctum
sail node --version
sail npm run prod
sail test
sail dusk
sail shell
sail tinker
sail share
Conclusión
Al construir aplicaciones de esta manera usando contenedores, puedes asegurarte de que cada desarrollador de tu equipo de trabajo esta utilizando la misma configuración que tú, y no te encontrarás con problemas habituales que diferentes personas de tu equipo utilizan versiones diferentes de PHP, NGINX, NPM, etc.