Fastest Magento 2 Docker dev environment ever for Mac and Linux
Plug and play Magento 2 dev environments with docker. Fastest performance ever on Mac and Linux.
Dockergento is just a bash script ready to use in Linux and Mac to be able to use docker with best native performance.
While performance might no be a problem for Linux, using this tool is the only way you can overcome performance issues on Mac. Dockergento allows you to have different configuration for each system while using the same workflow. So your whole team can work the same way no matter which computer they are using. It just works!
If you do not like reading and prefer watching videos. Check out all video tutorials here:
You only need 3 things on your local machine: git, docker and dockergento
Follow the installation steps for your system.
Install Docker on Mac
Configure File Sharing settings for the folder that contains your projects

Optionally you can also apply these performance tweaks
Install docker
Configure permissions
Clone this repo
git clone https://github.com/ModestCoders/magento2-dockergento.git
Add dockergento bin into your $PATH
sudo ln -s $(pwd)/magento2-dockergento/bin/dockergento /usr/local/bin/
Open a new terminal tab/window and check that dockergento works
which dockergento
dockergento
Depending the type of project, you can use one of the following setups:
cd <your_project>
dockergento setup
mkdir <new_project_name> && cd <new_project_name>
dockergento setup
dockergento create-project
Disclaimer: Performance on Mac is slower here due to the huge amount of files in app (~20.000 files)
Remove these lines on docker-compose.dev.mac.yml
- ./app:/var/www/html/app:delegated
- ./dev:/var/www/html/dev:delegated
- ./generated:/var/www/html/generated:delegated
- ./pub:/var/www/html/pub:delegated
- ./var:/var/www/html/var:delegated
Sync app using unison container. Add this in docker-compose.dev.mac.yml
unison:
volumes:
- ./app:/sync/app
Mirror not synced folders before executing composer the first time
dockergento start
dockergento mirror-host app dev generated pub var
If you are editing code in app, you need to start unison watcher to sync files between host and container.
dockergento watch app/code/Magento/<module_name>
git clone https://github.com/magento/magento2.git
cd magento2
dockergento setup
dockergento start
dockergento composer install
sudo vim /etc/hosts
// Add -> 127.0.0.1 <your-domain>
Open http://<your-domain> in the browser 🎉
See detailed documentation about development workflow with dockergento
We’ve worked very hard to implement this tool. If you find it useful and want to invite us for a beer, just click on the donation button. Thanks! 🍺
This project has been possible thanks to the following resources:
© ModestCoders