Docker for Drupal

Track: 
DevOps
Experience level: 
Beginner

Local development is always a challenge. First of all there are a lot of components that should be matched to reflect the actual production server and then there are also versions of PHP, MySQL, MariaDB that are needed to be matched. And on top of that all, some configurations are really hard to set up on local machine. And after all is set up and working there comes another project with different setup and versions. Not to mention if there is a need to revert briefly for some bug fix of a previous one. And then, when you update your system, some things return to their defaults and you have to do it again. And so does any collaborator as you need to replicate environment to everyone. One of the solutions was to use Vagrant, VirtualBox but for that you needed a very good one DevOps engineer who will set that up. And Vagrant and VirutalBox did use some serious resources, both memory and CPU. Then came Docker for Mac and Docker for Windows. OK, I know that Linux had that before but this time the setup can be EASILY shared between platforms and collaborators. My plan with this session is to show how easy it is to use Docker4Drupal project which offers very easy entry point to customized local development using Docker on all three platforms, how to effectively structure your folders and customize to match the needs of your project. I will explain the installation of Docker on all three platforms, introduce Docekr4Drupal project with docker-compose.yml control file tailored specifically for Drupal development and how to use PHPStorm IDE with Xdebug for full control of the application development.