Michael Irwin

All things Docker Compose!

Stop wasting time on complex local setups. With Docker Compose, any developer can `git clone` a repo and start contributing instantly.

All things Docker Compose!
#1about 2 minutes

Overcoming the friction of new developer onboarding

Setting up a new development environment is often a slow and error-prone process that hinders productivity on day one.

#2about 2 minutes

Running single services easily with Docker Desktop

Docker Desktop allows you to quickly search for and run isolated services like Mongo or Jupyter Notebooks without complex installation.

#3about 2 minutes

The ideal goal of a one-command project setup

The ultimate goal for any project should be the ability to `git clone` and `docker-compose up` to start development immediately.

#4about 3 minutes

Start by containerizing external dependencies like MySQL

The first step to containerizing an application is to replace manually installed dependencies like databases with a container, requiring minimal code changes.

#5about 4 minutes

Converting a docker run command to a compose file

A long `docker run` command can be translated into a declarative and shareable `docker-compose.yml` file using services, ports, environment variables, and volumes.

#6about 5 minutes

Adding debugging tools and managing service dependencies

You can easily add services like phpMyAdmin to your stack and manage startup order and networking with `depends_on` and automatic DNS resolution.

#7about 5 minutes

Using bind mounts for live code development

Bind mounts share your local source code directly with a container, enabling instant feedback and hot reloading during development.

#8about 3 minutes

Improving file performance with Compose Watch

Compose Watch is an experimental feature that avoids the performance overhead of bind mounts by syncing file changes or rebuilding images automatically.

#9about 2 minutes

A practical demonstration of Compose Watch in action

The `docker compose alpha watch` command monitors your local files and automatically syncs changes to the running container for a fast development loop.

#10about 1 minute

Achieving a zero-friction development environment

By fully containerizing the application and its dependencies, you create a reproducible, zero-friction environment that anyone can run with two simple commands.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

DevOps Engineer

DevOpsChat
Municipality of Madrid, Spain

Remote
DevOps
Docker
Kubernetes
Continuous Integration
+2