Set Up a Magento 2 Development Environment with Docker course image

Set Up a Magento 2 Development Environment with Docker

The easiest way to install, manage & configure a Magento development environment across your team.

30 lessons

1h 55m

Setting up a local development environment for Magento? It’s way too difficult! It takes so long to set up, is very hard to configure, and causes issues when working with teams of developers.

So, I created one for Magento! After 7 years of development, it is now the most popular Magento project on GitHub besides Magento itself. The environment works for all builds of both Magento Open Source and Adobe Commerce.

In this video course, we’ll walk through the different ways you can install Magento. Then we’ll configure PHPStorm with Xdebug, and learn about the helper scripts that eliminate the need to fully understand Docker. Finally, we'll go over customizing config files & installing custom plugins for your own online store.

Based on Mark Shust's Docker Configuration for Magento

The most popular development environment for Magento.

Standardize development environments

When everyone on your team is using a different setup, things don’t run smoothly. Issues with one developer’s environment can take many hours to diagnose and throw your entire project off schedule.

Make things smoother by using a standard development environment across your entire team.

  • Open source

    Do you want to modify something? The full source code for this project is available on GitHub.

Screenshot of Docker Compose

Over 2,000 stars on GitHub

A large following on GitHub means there is a lot of support for the project within the community. This also means there are many developers finding bugs more quickly and making additional enhancements to this project.

GitHub starts for docker-magento

Working through the course videos, and I am blown away.”  

Lori Krell
Lori Krell Lori Krell
Lead Technical Writer, Adobe

Course curriculum

Each video lesson can be played back & referenced as many times as you wish at slow or fast speed, and has tech-friendly closed captions.

Includes English captions, and Spanish translations provided by Google Translate

30 lessons

1h 55m

Completely refreshed on Dec 3, 2021

Intro

Quick hi & welcome from Mark!
Quick hi & welcome from Mark!
About the course format
About the course format

Initial Project Setup

Install Docker Desktop & configure preferences
Install Docker Desktop & configure preferences
Set up Magento with the automated onelinesetup script
Set up Magento with the automated onelinesetup script
Set up Magento manually from a custom Git branch
Set up Magento manually from a custom Git branch
Set up Docker for an existing Magento project
Set up Docker for an existing Magento project

The Basics of docker-magento

Execute docker-magento helper scripts
Execute docker-magento helper scripts
Start, stop, restart and check container status
Start, stop, restart and check container status
Execute bin/magento and composer within Docker containers
Execute bin/magento and composer within Docker containers
Install Magento sample data
Install Magento sample data

Docker Filesystem & Data Volumes

Understand Docker volumes & host bind mounts
Understand Docker volumes & host bind mounts
Manage files & folders within Docker containers
Manage files & folders within Docker containers

PhpStorm

Set up a docker-magento project in PhpStorm
Set up a docker-magento project in PhpStorm
Set up the Magento PhpStorm plugin
Set up the Magento PhpStorm plugin

Xdebug

Install the Xdebug helper browser plugin for Chrome & PhpStorm
Install the Xdebug helper browser plugin for Chrome & PhpStorm
Enable disable check the status of Xdebug
Enable disable check the status of Xdebug
Configure PhpStorm for Xdebug connections
Configure PhpStorm for Xdebug connections
Trigger an Xdebug breakpoint in PhpStorm
Trigger an Xdebug breakpoint in PhpStorm
Trigger an Xdebug breakpoint for CLI commands in PhpStorm
Trigger an Xdebug breakpoint for CLI commands in PhpStorm

Customize Server Configurations

Understand the docker-compose application structure
Understand the docker-compose application structure
Increase the PHP memory limit in php.ini
Increase the PHP memory limit in php.ini
Increase the Nginx request timeout in nginx.conf
Increase the Nginx request timeout in nginx.conf
Increase the MySQL buffer pool size with command or in my.cnf
Increase the MySQL buffer pool size with command or in my.cnf
Install a new PHP extension by building a custom Docker image
Install a new PHP extension by building a custom Docker image
Configure multi-store instances in Docker with Nginx
Configure multi-store instances in Docker with Nginx

Grunt

What is Grunt?
What is Grunt?
Install & Configure Grunt
Install & Configure Grunt
Grunt commands in Magento
Grunt commands in Magento
Grunt with LiveReload
Grunt with LiveReload

Enroll in this course for free

Access all of the free courses in the M.academy Library.

Join now

Do you want to access the M.academy Library? Track course progress and automatically access new lessons. It’s also completely free 😁.

What's included

  • Track course progress

  • Automatically access new lessons

Completely free

$ 0

Frequently asked questions

Do I need to understand Docker to take this course?
Docker experience is helpful but not necessary. The bash helper scripts included in docker-magento abstract away most of the Docker commands. This allows you to focus on what you do best: programming Magento and getting your storefront up & operational.
Will this work with Mac, Windows & Linux?
The course assumes you are running macOS, but works just fine on Linux with some tweaks. It also works on Windows with WSL 2.
How much does the course cost?
The course is completely free! Enjoy.