I've been working with Drupal since about 2012. I'll label myself as a solid "intermediate". I am currently using the MAMP environment; each site I am working on in its own folder in HTDOCS. This has worked well for me, however as I have branched into using Composer, I am seeing things like Drupal VM, Docker, Docksal, etc. 

As I look into all of this, I can see how it could be beneficial, having each site being developed in its own VM environment. But I'm seeing a lot of choices/options, and I'm not yet clear as to why I might want to choose, say Drupal VM over Docksal; or why I might want to use Docker rather than VirtualBox with Drupal VM. 

I am presuming that a site can be copied from the development environment to the production environment via Git, same as in MAMP? 

I need some help better understanding what the advantages/disadvantages of the various "VM Environments", and if I should switch to one of them, or if I'm better off just sticking with MAMP.

Comments

ressa’s picture

I used to develop Drupal 8 with a Vagrant / Virtualbox setup, but it was slow, especially when downloading thousands of files with Composer, which was a pain. It also had a few small quirks ... Then I tried Lando a few months ago, and found the perfect replacement. I recommend this article for a few points, as well as a great little tutorial: https://colorfield.be/blog/drupal-and-docker-the-easy-way-with-lando

BEGRAFX’s picture

How would you compare Lando to say, Docksal? 

I know both are Docker-based, but I don't really know the differences between them.

ressa’s picture

I think they are very similar, but don't know Docksal. I just picked the most popular Docker-based tool for Drupal development, which is Lando. Check out slide #23 from "Local Dev Environments for Dummies - MidCamp":

https://www.midcamp.org/sites/default/files/2018-03/Local%20Dev%20Enviro...