A Docker-based development environment for Magento 2, providing pre-configured containers and helper scripts for local development.
markshust/docker-magento is a Docker-based development environment specifically tailored for Magento 2. It provides a pre-configured set of containers (PHP, Nginx, MySQL, Redis, etc.) and a suite of helper scripts to quickly spin up a local Magento instance, whether for a new project or an existing one. It solves the problem of complex, inconsistent local setups by offering a standardized, containerized approach.
Magento 2 developers and agencies who need a reliable, reproducible local development environment. It's also suitable for developers migrating existing Magento projects to Docker or those looking to integrate modern tooling like Xdebug and LiveReload.
Developers choose this project because it dramatically simplifies Magento 2 local development with its 'batteries-included' approach, comprehensive helper scripts, and strong community support. It reduces setup time from hours to minutes and ensures environment parity across teams.
Mark Shust's Docker Configuration for Magento
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Bundles PHP, Nginx, MySQL, Redis, OpenSearch/Elasticsearch, RabbitMQ, and Mailcatcher into pre-configured Docker containers, eliminating the need for manual service setup as detailed in the Key Features.
Offers one-liner commands like the curl-based onelinesetup for new projects and bin/setup for migrations, dramatically reducing installation time from hours to minutes.
Includes out-of-the-box support for Xdebug, Grunt with LiveReload, PHP CodeSniffer, Blackfire.io, and PHP-SPX, enhancing debugging and frontend workflows as listed in Development Tooling.
Provides dozens of custom bin/ scripts for common tasks such as database management, container control, and Magento CLI operations, streamlining daily development activities.
On Linux, additional setup steps are required for Xdebug and hostname resolution, including modifying /etc/hosts and firewall rules, which adds friction compared to macOS/Windows.
Requires at least 6GB of RAM allocated to Docker, as noted in Prerequisites, which can be prohibitive for developers with limited system resources or older hardware.
Common installation failures like the 'Project directory is not empty' error necessitate manual cleanup with bin/removeall, adding unpredictability to initial setup as warned in Misc Info.
Adding new PHP extensions or customizing service configurations requires building custom Docker images, which involves diving into image structures beyond the helper scripts.