Laravel sail la herramienta para desarrollo en entorno local con Docker #laravel #docker #sail #php
Пікірлер: 31
Жыл бұрын
Muchas gracias! La de tiempo que llevo rompiendome las pelotas intentando montar un entorno de desarrollo con docker y resulta que ya estaba todo hecho y además nativo de Laravel
@Alpha_Dev Жыл бұрын
Me alegra haber podido ayudar. Saludos y exitos.
@javieru5871 Жыл бұрын
Yo solia utilizar Laradock, pero actualice docker y dejo de funcionar varias cosas. Mejor me pase a sail
@javerleo2 жыл бұрын
Muy buena la explicación. Solo quisiera hacer la aclaración de que no es necesario instalar Docker Desktop en Windows para que funcione. Se puede simplemente usar el subsistema WSL, con una distribución base, como Ubuntu, para luego instalar en esa VM Docker. A partir de ese punto ya nos funciona Laravel Sail.
@Alpha_Dev2 жыл бұрын
Gracias por compartir, no uso windows para desarrollar, incluso dentro de windows uso una virtual y adentro docker. Prefiero el ambiente de linux, se q se puede usar mucho con wsl, pero me siento mas comodo con todo el entorno. De nuevo gracias y muchos exitos
@javieru5871 Жыл бұрын
Es una belleza Sail, antes utilizaba Laradock, pero actualice Docker y se fue al carajo. Excelente video, saludos.
@Alpha_Dev Жыл бұрын
Coincide, la mejor manera de trabajar local
@gerardorebolledo33852 жыл бұрын
No lo habia visto, buen video!.
@Alpha_Dev2 жыл бұрын
Gracias, me alegro que guste. Saludos
@jseh_2 жыл бұрын
Esta super bien ese entorno, tiene como hotreload para cuando haces cambios en los archivos de ruta( con php artisan serve se tenia que recrear el cache antes) y en el .env, excepto para la contraseña y usuario de la conexión a base de datos, si los cambias, no toma el nuevo valor si no hasta que haces sail down -v que detiene todo y elimina volúmenes, me tomo tiempo darme cuenta de eso :v
@Alpha_Dev2 жыл бұрын
Si esto es debido a q las variables de ambiente de mysql son solo leidas en la creacion del container entonces solo cuando se recrea vuelven a tomar efecto. si queres actualizarlo podes hacerlo desde mysql, conectandote como root y actualizando los valores que necesites, es mas engorroso pero es posible de hacer. Sino hacer un backup en caso de q lo necesites si o si, pero si ese es el caso recomendaria que se reveea el workflows y considerar utilizar seeders para recrear el estado de la aplicacion mas facilmente
@oswaldocalderon95352 жыл бұрын
Excelente 👌
@sunwukong1612 Жыл бұрын
Buen video, una consulta soporta conexiones a postgres?
@Alpha_Dev Жыл бұрын
Si, sail tiene directamente para que puedas usar postgress, y tambien lo podes customizar para usar cualquiera que vos necesites.
@jseh_2 жыл бұрын
otra cosa que he notado, es que aunque me puedo conectar a la instancia de mysql, después de sail up -d, no puedo crear otra base de datos distinta a la por defecto usando esa misma conexión, no se si eso es normal, pero bueno :v
@Alpha_Dev2 жыл бұрын
Imagino que lo que te puede estar pasando es que te estas conectando con el usuario sail, este usuario viene con permisos solo para la base de datos creada para el projecto. Proba conectandote con root. Si queres conectarte con el mismo usuario sail vas a tener q extender los permisos en mysql para que tambien pueda operar en esa base de datos o mover a usar el usuario root de mysql en la conexion
@giovani3616 Жыл бұрын
¿Y así tal cuál se usa en producción o hay que hacer más cosas? y ¿como se usa con apache o no es necesario?
@Alpha_Dev Жыл бұрын
Hola Giovani. Este es para local no esta pensando para produccion. Ahi te conviene si armar tu definicion de los containers. Laravel sail utiliza php artisan serve. que en si no es lo recomendado para prod. Lo mas recomendado es si un propio servidor http como apache o nginx que se ocupe del trafico que llegue y de ahi derive al container de php. Esto es debido a que si por algo falla critica de php no detiene todo el servidor. solo frena el proceso corriendo.
@giovani3616 Жыл бұрын
@@Alpha_Dev Oh ya veo ya veo, entonces me informaré más sobre eso, sobre todo docker, gracias :)
@lisandromisaelvillahernand77892 жыл бұрын
que tal, muy buen video, he notado que corres tu proyecto por el puerto 80, lo estas corriendo desde apache o desde artisan serve? y si es con apache como lo has hecho?
@Alpha_Dev2 жыл бұрын
Hola lisandro. No suelo usar apache hace mucho, en el ultimo tiempo uso generalmente laravel valet, o el artisan serve si lo quiero correr directamente. Sino como el tema del video lo corro con laravel sail que es con docker. Dentro del docker se corre directamente con el artisan serve. Espero que mi respuesta ayude saludos
@D3rekOficial2 жыл бұрын
y que diferencia tiene hacerlo directamente solo usando Docker?
@Alpha_Dev2 жыл бұрын
Sail ya te vien directamente configurado. Funciona "out of the box". Tranquilamente podes lograr lo mismo usando docker, te va a llevar mas tiempo, y entender varios conceptos. Las imagenes de PHP oficiales no funionan directamente con laravel, asi que tendrias que armarte las tuyas propioas y mantenerlas, o tener tu docker file especifico. Es un gran ejercicio de aprendisaje de docker hacerlo. Espero haber contestado tu pregunta. Cualquier cosa me escribes. Saludos y exitos.
@alespcs2 жыл бұрын
Buenas noches, como hago para conectarme a PostgreSQL porque me dice connection refused
@Alpha_Dev2 жыл бұрын
Hola Mario, Tenes que fijarte en tu docker-compose file como se llama el contenedor para postgressql, ese mismo nombre que aparece ahi tenes que utilizarlo en la configuracion de laravel sea en el config/database.php o si esta por variable de ambiente en el .env. Esto se debe que a que dentro de docker cuando levanta sail se crea una red y son como maquinas separadas si estas usando en la configuracion algo como localhost o 127.0.0.1 no te va a funcionar, ahi es donde se usa el nombre del servicio dado que docker ya los relaciona y los referencia. Espero que te sirva, Saludos y exitos.
@cansecoinge8 ай бұрын
Hola, una duda: Laravel Sail entonces solo se usa para entorno de desarrollo, paro entonces que pasa cuando ya se va a migrar al entorno de produccion, en unservidor linux con mysql, cron y toda la cosa.... Mi duda es por que, yo ya tengo un sitio en laravel y uso meilisearch en docker para mis busquedas... pero ahora que encontré Sail, veo que es muy simple instalar meilisearch y pensé... ¿y si utilizo este modo de cargar meilisearch con Sail? y pues no se si eso no se hace mas que para desarrollo y en productivo se monte ya bien docker y todo, sin Sail.... Espero explicar mi contexto de la duda XD Saludos!
@Alpha_Dev8 ай бұрын
Hola, si Sail esta enfocado para el ambiente de desarrollo. Cuando pasas para produccion tenes otras expectativas con respecto a la base de datos. usando sail down o similar te puede borrar la base, mientas que en desarrollo esta bien, no es lo esperado en prod. Lo mismo con meilisearch. Lo mismo que ver como planeas tener distribuido en produccion tu aplicacion.
@crayder036 ай бұрын
¿Como desplegarías una app hecha con sail a producción?
@Alpha_Dev5 ай бұрын
podes usar las imagenes base, pero si tu idea es deplegar con docker, crearia un container custom. no usuaria los de sail dado que estan hecho para desarrollo no para prod.
@ricko13 Жыл бұрын
No se man, yo siempre uso Laragon de toda la vida 💯
@Alpha_Dev Жыл бұрын
Y esta perfecto, gran herramienta laragon, las veces que la use funciona muy bien, para trabajar con windows es recomendada. Saludos.