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

Related Articles

View all articles
CS
Christina Schaireiter
Why Attend a Developer Event?
Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership. Skill Diversification: Break out of your specific tech stack to see how the industry...
Why Attend a Developer Event?
DC
Daniel Cranney
Dev Digest 172: CODE100 is back, Linux Containers & PHP in Node!
Inside last week’s Dev Digest 172 . 🍎 All WDC Web Tech announcements 📦 Linux containers on MacOS 🧑‍💻 Take a CODE100 challenge to join the WeAreDevelopers World Congress 📝 Training AI without GDPR issues 📱 Mobile port tracking and restricted Android ...
Dev Digest 172: CODE100 is back, Linux Containers & PHP in Node!
DC
Daniel Cranney
Dev Digest 213: Petrol Prices, Agentic Workflows, AI Skills and CODE100!
Inside last week’s Dev Digest 213 . 🤫 Don’t tell your LLM that it is an expert 👻 AI generated code is invisible 🔄 Learn about agentic workflows 🛡️ Linux Foundation sponsors fight against AI slop 🦠 1M users infected by Chrome extension 🫃 The why of J...
 Dev Digest 213: Petrol Prices, Agentic Workflows, AI Skills and CODE100!

From learning to earning

Jobs that call for the skills explored in this talk.