Compose, Break, Repeat

Welcome! I’m Guillaume Lours, Docker Compose maintainer, passionate about containerization and developer tools.
I’m currently Software engineer at Docker working on Compose and Docker Sandboxes.

Exploring the iterative world of software engineering, Docker, and the art of building things that sometimes break.

Docker Compose Tip #58: Using configs for config files

You’ve used secrets for sensitive data (Tip #22). For non-sensitive config files like nginx.conf or prometheus.yml, there’s a parallel feature: configs. Basic usage Define a config at the top level, reference it in a service: configs: nginx_conf: file: ./nginx.conf services: web: image: nginx configs: - source: nginx_conf target: /etc/nginx/nginx.conf The file is mounted read-only inside the container at the target path. No need to declare a volume mount manually. ...

May 4, 2026 · 2 min · 309 words · Guillaume Lours

Docker Compose Tip #57: Container resource monitoring

A container is running but your app feels sluggish. Is it CPU-bound? Leaking memory? Stuck on a runaway process? Compose gives you two essential commands to find out: docker compose top and docker compose stats. docker compose top Show running processes inside each service’s container: docker compose top myapp-web-1 UID PID PPID C STIME TTY TIME CMD root 12345 12320 0 09:15 ? 00:00:02 nginx: master process nobody 12400 12345 0 09:15 ? 00:00:00 nginx: worker process myapp-api-1 UID PID PPID C STIME TTY TIME CMD node 12500 12480 2 09:15 ? 00:01:45 node server.js node 12600 12500 0 09:15 ? 00:00:12 node worker.js You see every process running inside each container with their CPU usage (C column) and CPU time. Perfect for spotting runaway workers or unexpected child processes. ...

May 1, 2026 · 3 min · 495 words · Guillaume Lours

Docker Compose Tip #56: env_file advanced patterns

The env_file key looks simple but has surprisingly rich behavior, you can load multiple files, mark some as optional, and control how they’re parsed. The two flavors of .env There are two completely different things called “.env” in Compose: The project .env file at the same level as compose.yml, used for interpolation of ${VAR} in the Compose file itself (see Tip #42) env_file: at service level, loaded as runtime environment variables inside the container This post is about the second one. ...

April 29, 2026 · 3 min · 439 words · Guillaume Lours

Docker Compose Tip #55: docker compose config advanced usage

Most people know docker compose config as “the validate command”. It’s much more than that. The same command can list resources, output JSON, hash services for change detection, and pin image digests for reproducibility. Listing resources Ask Compose what’s actually in your project, after all overrides and interpolation: # List all services docker compose config --services # List all volumes docker compose config --volumes # List all images used docker compose config --images # List all defined profiles docker compose config --profiles These are great in scripts when you need to loop over each service: ...

April 27, 2026 · 2 min · 417 words · Guillaume Lours

See you at Devoxx France 2026!

This week, no Docker Compose tips, I’ll be at Devoxx France 2026 at the Palais des Congrès in Paris, from April 22 to April 24. I’m lucky to be on stage three times, with topics ranging from AI agents to a text-based RPG powered by tiny language models, and as you’d expect, containers and Compose are part of the story. Here’s what I’ll be talking about. Wednesday, April 22 — 17:50-18:20 (Tools-in-Action) Vos coding agents en mode YOLO… mais en toute sécurité There’s a term for what happens when you use AI coding agents heavily: permission fatigue. You end up clicking through approval prompts without really reading them. To work around this, tools now offer YOLO modes (trust-all-tools, bypass permissions…) that give agents full autonomy. ...

April 20, 2026 · 3 min · 565 words · Guillaume Lours