For the Drupal developer, Docker is a way to provide a local development environment to run web server software.
At its core, Docker is a containerization system including a lot of useful tools. It allows you to run applications anywhere, regardless of how those applications were created or the host system on which they're running. This includes the software that makes up a typical web stack such as Apache, MySQL, and PHP.
- Install, configure, and use Docker on your computer
- Create sandboxed, portable applications on your computer
- Create a development environment that mimics the production server
The most changeable aspect of Docker is the set of images available on Docker Hub. We strive to keep our tutorials up-to-date with working examples, but if you find that a particular image isn't working or has changed, please let us know and we'll update the tutorial.
Drupal developers have relied on local development environments like MAMP, WAMP, and Acquia Dev Desktop for years. While these are each effective solutions, each comes with its own share of problems. Do your PHP settings match your production environment? Are you using the same versions? What if you need to switch versions for different projects? How do you quickly change systems or onboard new team members quickly?
In this series, we introduce Docker, a container runtime that allows you to run pre-packed, sandboxed Linux applications anywhere. We'll start by running a single container on the command line, build up to running Drupal in Docker, cover how to build your own containers, and how to add Docker to your Drupal development workflow.