Docker-based development environments for macOS, Linux, and Windows
Docker-based tools are great for local development environments because of the small footprint and fast start-up times. More open-source projects are packaging their stacks as Docker images to speed up installation and collaboration.
Advantages of a Docker-based local development environment
- Simpler to install and update than manually installing separate tools.
- Simple dependency management.
- Less disk space required than a virtual machine development environment.
- Read about Docker containers for more information.
Docker-based local development environments for Drupal
The four most popular solutions, with more than 500 stars in their GitHub repositories:
DDEV
DDEV is an open-source tool that makes it dead simple to get local PHP development environments up and running within minutes. Works with Linux, Mac OS, and Windows. Developed and maintained by long-time Drupal contributor Randy Fay (rfay) through support from several well-known and respected Drupal-focused companies. DDEV is recommended for local Drupal development.
- DDEV - Get Started.
- DDEV Documentation.
- DDEV CMS Quickstarts - Drupal.
- DDEV on GitHub.
- Installing Drupal with DDEV in WSL2 on Windows.
Lando
Lando is for developers who want to quickly specify and painlessly spin up the services and tools needed to develop their projects. It's a free, open-source, cross-platform, local development environment and DevOps tool built on Docker container technology and developed by Tandem.
- Lando Documentation.
- Lando on GitHub.
- For PHPUnit and Nightwatch testing, see Lando + Drupal Contributions.
Docker4Drupal
Docker4Drupal is a set of Docker containers optimized for Drupal. Use the docker-compose.yml file from the docker4drupal repository to spin up a local environment on Linux, Mac OS X, or Windows.
Docksal
Docksal is a tool for defining and managing development environments. It uses Docker to create fully containerized environments, along with VirtualBox to support macOS and Windows.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion