Thank you so much for this. I'm a Devops Engineer and I have been waiting for my devs to containerize our laravel backend and I needed something to get the pipline going while I wait on them .This just saved me some hours . Thank you so much .
Legend! This was slightly tricky to figure out as there's not a great deal of information online and the Laravel docs just seem to leave you on the edge of a cliff if it's your first experience setting up Laravel and especially using Sail.
Hi, it a great video! I am a beginner for laravel & docker. It would be great also next tutorial can have a tutorial how to manually dokerize laravel9 with nginx, mysql, phphmyadmin, & redis. As a student from university I can learn to dokerize a good step without using laravel sail. Hope you can give reference to beginner like me
That's a good idea for a video! I do have one where I use Docker to manually setup a standard LAMP stack, and that LAMP stack could be used to run a Laravel application. You may just need to adjust the default Apache root folder to the public folder within your Laravel application. ruclips.net/video/zWyggxV51oQ/видео.html
@@codeadamca Thank you. I already follow that tutorial with LAMP (Apache). It also a good tutorial for beginner like me with PHP. Hope soon can hand on with LEMP(Nginx) stack include Doker, Laravel & Redis.
Its my first day since im trying with laravel sail docker and its pretty much confusing. Im using windows os and without sail im confident using laravel but can you clear my doubts. If i create a new project then will the Images of mysql, redis bla bla bla will be created again or not ? Clear my doubts i will really appreciate your help sir.
If you go to the Docker Hub, there are lots of NGINX images, one of those may be sufficient: hub.docker.com/_/nginx I have never personally run a Laravel application on an NGINX server. I have only used NGINX for Node.js applications.
The files should be located in the same directory you executed the cURL command in. Next time run "pwd" (stands for present working directory) before running the command, then you can find your files using Finder or VSCode.
You don't need Sail to run a Laravel app on Docker. You can set up a pretty standard LAMP stack using Docker and deploy a Laravel app. I walk through setting up Dovker from scratch here: studio.ruclips.net/user/videozWyggxV51oQ/edit
do i send another dev just all teh code and let the docker-compose file do everything? or is there a way to package the 4+ containers and send those to them?
Ideally you should use a GiHub repo, then all the other developer needs is your GutHub repo URL (if not send them your code, not including the vendors folder). Then they can clone the repo. Run the Docker compose. From the main container run PHP composer and the Laravel migrations. Then they should have an identical functional app!
Hi Adam, thank you so much for this tutorial. Whenever I run a migration inside the laravel container's shell, and want to save something in that migrationfile in VScode, I get: an Insufficient permissions error. I have to type my sudo password every single time I want to save the file. Why is that and how can I fix it?
Sorry, but I'm not sure. I have never encountered his before. I have one possible help... Try running the migration command using sudo, something like: sudo php artisan migrate:refresh --seed It should as for your password the first time, but not every time.
Hi Adam, thanks for the tutorial. I've noticed that you ran the migration through the Laravel container's console in docker. I've been trying to do that through the VS Code integrated terminal and also through PowerShell, both at my project location without luck(I get 2002 error). Do you happen to know why I can only run migrations through the Laravel container command line?.
Each container in Docker is essentially a different computer or virtual hosts. In this example, our docker-compose.yml creates six different computers. One to run the application, one to run the MySQL database, one to run PHPMyAdmin , etc... When you open a terminal using a Docker container, those commands are being executed on that computer. For example when you run a migration on the container named "fresh-laravel_laravel", it will use the database settings to add tables to the "fresh-laravel_mysql" container. When you use the terminal in VSCode or PowerShell, it will attempt to run the migration on your local computer. This won't work because the migration will use the database information from .env file, and from your local computer's "point of view" it won't be able to find the database server. Using Docker means you don't even need PHP, Laravel, MySQL, etc... installed on your local computer. Hope that helps!
you can run the command from vs code like this. ./vendor/bin/sail php artisan migration:refresh Prefixing the command with sail, tells the laravel app to run the command inside the container
same issue here mysqli::real_connect(): php_network_getaddresses: getaddrinfo for msyql failed: Temporary failure in name resolution mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo for msyql failed: Temporary failure in name resolution
well, that was easy. lol Spent two days trying to get my project to run on a container, then I thought, "wait, shouldn't docker already have a solution to this?" and here we are. lol.
@@kanao8378 I tried to close of any ports that are using 8001 port and also close mysql and apache http server on your task manager if there is any and finally put the command docker compose up and then the vendor bin sail up command
Thank you so much for this. I'm a Devops Engineer and I have been waiting for my devs to containerize our laravel backend and I needed something to get the pipline going while I wait on them .This just saved me some hours . Thank you so much .
Legend! This was slightly tricky to figure out as there's not a great deal of information online and the Laravel docs just seem to leave you on the edge of a cliff if it's your first experience setting up Laravel and especially using Sail.
Thank you Adam! Really great tutorial for a newbie like me trying to setup Laravel and Docker. :)
Thanks!
Great to learn this. Thanks soo much!
Saved me so many times. You are the best bro. Sadly that I can't like your video more than 1 time
Thanks a lot Adam.
It was really short and helpful.
The content is very good. Congratulations!
Thanks You SO MUSH for making this video! It help me with my problem.
Great video. Thank you for teaching me. I understood everything 100%.
Thank you so much. Laravel is so easy to set up.
Thank you so much for your video! It helped a lot!!!
you are the best >> life saver dude
You are golden! :) Thank you for this easy to follow tutorial.
Glad it helped!
This was so good. Thank you so much!
Perfect tutorial, thank you Adam!
Glad you liked it!
Thankyou Adam for the video
Great video , how build it and remove unnecessary packages in order to be ready for production environment? Any ideas?
Thank you Adam!
very good
thank you, it works pretty well on me
Thank you very much! It was really useful
Great tutorial thanks ❤
all i can say is a huge thank you... : )
Thank you, great tutorial
Do you have a video or instructions where you can attach a different database, like mongo db?
when i type ./vendor/bin/sail up. it says error invalid host header. i couldnt find appropriate answers aswell.
Thank you Adam! +1 subscribed.
Hi, it a great video! I am a beginner for laravel & docker. It would be great also next tutorial can have a tutorial how to manually dokerize laravel9 with nginx, mysql, phphmyadmin, & redis. As a student from university I can learn to dokerize a good step without using laravel sail. Hope you can give reference to beginner like me
That's a good idea for a video! I do have one where I use Docker to manually setup a standard LAMP stack, and that LAMP stack could be used to run a Laravel application. You may just need to adjust the default Apache root folder to the public folder within your Laravel application.
ruclips.net/video/zWyggxV51oQ/видео.html
@@codeadamca Thank you. I already follow that tutorial with LAMP (Apache). It also a good tutorial for beginner like me with PHP. Hope soon can hand on with LEMP(Nginx) stack include Doker, Laravel & Redis.
Its my first day since im trying with laravel sail docker and its pretty much confusing. Im using windows os and without sail im confident using laravel but can you clear my doubts. If i create a new project then will the Images of mysql, redis bla bla bla will be created again or not ? Clear my doubts i will really appreciate your help sir.
Thank you so much ❤
Very good! Thanks!
Hey, man, can you set up React using Vite and dockerize that React app with this setup?
THANK YOU SO MUCH!
Thank you so much!
I want to do this but with Ubuntu as core image then nginx and php on it which run the container need help
If you go to the Docker Hub, there are lots of NGINX images, one of those may be sufficient:
hub.docker.com/_/nginx
I have never personally run a Laravel application on an NGINX server. I have only used NGINX for Node.js applications.
Thanks Adam
Hi, Amazing tutorial. Can you help me i am having trouble location the project files after running the "curl laravel build" command
The files should be located in the same directory you executed the cURL command in. Next time run "pwd" (stands for present working directory) before running the command, then you can find your files using Finder or VSCode.
do you actually need Sail to run a laravel app on Docker? what about dockerizing an existing laravel app?
You don't need Sail to run a Laravel app on Docker. You can set up a pretty standard LAMP stack using Docker and deploy a Laravel app. I walk through setting up Dovker from scratch here:
studio.ruclips.net/user/videozWyggxV51oQ/edit
do i send another dev just all teh code and let the docker-compose file do everything? or is there a way to package the 4+ containers and send those to them?
Ideally you should use a GiHub repo, then all the other developer needs is your GutHub repo URL (if not send them your code, not including the vendors folder). Then they can clone the repo. Run the Docker compose. From the main container run PHP composer and the Laravel migrations. Then they should have an identical functional app!
@@codeadamca mkay thats what i was thinking. thank you. using private repo rn, which is a headache sometimes. but mkay wanted to ask. ty!
Just perfect
Hi Adam, thank you so much for this tutorial.
Whenever I run a migration inside the laravel container's shell, and want to save something in that migrationfile in VScode, I get: an Insufficient permissions error. I have to type my sudo password every single time I want to save the file. Why is that and how can I fix it?
Sorry, but I'm not sure. I have never encountered his before. I have one possible help...
Try running the migration command using sudo, something like:
sudo php artisan migrate:refresh --seed
It should as for your password the first time, but not every time.
GOOD JOB, THANK YOU!)
services.phpmyadmin Additional property enviroment is not allowed
How to fix that, bro ?
Sorry, that's a hard one without seeing the error. I think it might be an indentation error. In the docker-compose.yml the tabbing must be accurate!
Hi Adam, thanks for the tutorial. I've noticed that you ran the migration through the Laravel container's console in docker. I've been trying to do that through the VS Code integrated terminal and also through PowerShell, both at my project location without luck(I get 2002 error). Do you happen to know why I can only run migrations through the Laravel container command line?.
Each container in Docker is essentially a different computer or virtual hosts. In this example, our docker-compose.yml creates six different computers. One to run the application, one to run the MySQL database, one to run PHPMyAdmin , etc... When you open a terminal using a Docker container, those commands are being executed on that computer. For example when you run a migration on the container named "fresh-laravel_laravel", it will use the database settings to add tables to the "fresh-laravel_mysql" container.
When you use the terminal in VSCode or PowerShell, it will attempt to run the migration on your local computer. This won't work because the migration will use the database information from .env file, and from your local computer's "point of view" it won't be able to find the database server.
Using Docker means you don't even need PHP, Laravel, MySQL, etc... installed on your local computer.
Hope that helps!
in the shell i just run sail shell, it opens a shell for the laravel contianer, and i run all artisan commands there. ez pz
you can run the command from vs code like this.
./vendor/bin/sail php artisan migration:refresh
Prefixing the command with sail, tells the laravel app to run the command inside the container
Thanks 🙏
I can't login into phpmyadmin, mysqli::real_connect(): (HY000/2002): Connection refused.
same issue here mysqli::real_connect(): php_network_getaddresses: getaddrinfo for msyql failed: Temporary failure in name resolution
mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo for msyql failed: Temporary failure in name resolution
it turns out i made a typo in pma_host lol
well, that was easy. lol
Spent two days trying to get my project to run on a container, then I thought, "wait, shouldn't docker already have a solution to this?" and here we are. lol.
Beautiful
thanks a lot
im getting503 SERVICE UNAVAILABLE
Thanks.
thanks !
👍👍👍
❤ Like * 1000
Laravel is working but localhost:8001 not working. The php my admin page is not coming.ANy idea why?
i have same issue, have you find the solution?
@@kanao8378 I tried to close of any ports that are using 8001 port and also close mysql and apache http server on your task manager if there is any and finally put the command docker compose up and then the vendor bin sail up command
Is this a joke ? where is the installation docker process, and the req things to fulfill , wht os u are using ?
bullshit
Thank you!
Damn I can't even run the first command...
If having this error: "The stream or file "/var/www/html/storage/logs/laravel.log"
this is a solution: sudo chmod o+w ./storage/ -R
Thanks!
Great tutorial thanks ❤