How to setup a Drupal local environment with Docker and DDEV
In this post I will show you how to set up a Drupal local environment using Docker and DDev.
First of all we need to download Docker from their website.
Also you can use Homebrew:
brew install homebrew/cask/docker
Docker will provide the basic containers that Drupal needs to work. Instead of installing MySQL (for example) in our machine, the MySQL will be provided by Docker so we won't need to setup any extra tool in our local machine. Also, with Docker we will automatise all the process.
After setting up Docker Desktop it's time to install DDev. DDev is a helper for setting up a Docker project, instead of do the setup manually, DDev will configure all the containers needed for Drupal to work. Let's install DDev:
brew install drud/ddev/ddev
Once DDev is installed, be sure Docker is running in order to setup our new Drupal Project.
First we create our new project folder
Second we setup the config to tell DDev that our project will be a Drupal 9 project with docroot as base site placement.
ddev config --project-type=drupal9 --docroot=web --create-docroot
Now we can start the project (all the containers will be up)
After the containers are up let's require via composer the latest Drupal version
ddev composer create "drupal/recommended-project"
Also we will require Drush
ddev composer require drush/drush
Now let's proceed to install automatically
ddev drush site:install -y
And also get an Admin user
ddev drush uli
Finally we can launch the project
After all this process we will be able to access to a brand new Drupal local environment using Docker and DDev. Now we can start develop our project.
Don't forget to export configuration with
drush cex and also create backup from your DB
ddev export-db, since you can lose all your data and changes if you destroy the Docker containers.