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 standardized Magento dev environment across your team.

26 lessons

1h 33m

It can be very difficult to get a Magento 2 development environment setup quickly & easily. With this screencast, you'll understand the basics of configuring and managing a development environment in no time.

At the end of this course you'll have an extremely performant development environment setup that is easy to use, one which you can setup to your exact specifications, and a config you can actually manage yourself. I'll also walk you through setting up Xdebug within PHPStorm, so you can set & debug breakpoints like the master PHP developer you are.

You do not need to understand Docker to use this setup, as simple helper scripts abstract away the complexity and allow you to administer your Magento instance without hassle.

Based on Mark Shust's Docker Configuration for Magento

The most popular development environment for Magento.

Standardize dev environments

When everyone on your team is using a different development environment, things don't run smoothly. Issues within one developer's environment could take many hours or days to diagnose, and throw your entire project off schedule.

By standardizing your entire fleet of developers on a single development environment, you can help achieve parity & consistency across all of your development efforts.

  • Open source

    Full source code is available on GitHub, allowing you to fork the code and modify it for your own project's needs.

Screenshot of Docker Compose

1,000+ stars on GitHub

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

M.academy links

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

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 Spanish translations provided by Google Translate

26 lessons

1h 33m

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

Register for the free Library

Learn more about Magento, PHP, Docker, or something entirely new.

Join now

It's completely free to access the M.academy Library. Get additional access to track course progress, leave comments on lessons, join Campus, and automatically get access to new lessons in the library.

What's included

  • Track course progress

  • Leave comments on lessons

  • Join Campus

  • 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 definitely not necessary. The bash helper scripts I wrote help abstract away most of the Docker commands, so you can 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.