Ever since I started web development, I've been using WAMP and later on AMPPS, which is just WAMP/MAMP with a better UI. But I feel I've been taking environment-setup for granted, and want to move away from that.
Since I've been introduced to Docker at work, I've been wanting to learn how to setup my own local development environment. At, work, the tech director would be the one to do the setup process, and I would just run it. But I was curious in wanting seeing how the different pieces come together--to through the process so I better understand the deployment side of web development. This aslo helps me be more effective as troubleshooting problems during the setup process.
I initally tried doing on my existing Windows machine. So I went and got a MBP, since Mac comes preinstalled with PHP and MySQL. Also it being based off Unix makes it simpler to run bash
commands and scripts too!
Instead of diving straight into Docker, I decided to start simple and see if I could just get a local dev server running. After 3 days of trial and error and much Googling, finally managed to get an existing project running on Valet.
Through the whole process, I learned how to use Homebrew and Valet The biggest challenge I faced was trying to get Sequel Pro connected to localhost MySQL.
Next setup is figuring out how to write the Docker scripts for a typical LEMP setup. Then figure out how to setup local dev environments specifically for Laravel and Craft. I know there's LaraDock for Laravel... would that also work for Craft (or CraftCMS)?
Top comments (5)
Have you considered Laravel Homestead? It uses vagrant instead of docker and provides a whole virtual machine with multiple versions of PHP to choose from. Super easy to get started with. laravel.com/docs/5.7/homestead
Have you used a Mac before this?
Just sounded like a weird jump to make there :v
I use Lando these days. It's Docker-based, but is pretty easy to use, and makes it very straightforward to set up a LAMP stack.
Hmm... had a glance at it and looks promising... will take a look at it when I have the time... hehe...
I recommend you not to write your own Docker script but use boilerplate and understand what and why they do things.