<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Compose, Break, Repeat</title>
    <link>https://lours.me/</link>
    <description>Recent content on Compose, Break, Repeat</description>
    <image>
      <title>Compose, Break, Repeat</title>
      <url>https://lours.me/profile.png</url>
      <link>https://lours.me/profile.png</link>
    </image>
    <generator>Hugo -- 0.154.2</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 17 Jun 2026 09:00:00 +0200</lastBuildDate>
    <atom:link href="https://lours.me/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Docker Compose Tip #77: Volume subpath for mounting a sub-directory</title>
      <link>https://lours.me/posts/compose-tip-077-volume-subpath/</link>
      <pubDate>Wed, 17 Jun 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-077-volume-subpath/</guid>
      <description>Use volume.subpath to mount a sub-directory of a named volume into a container, instead of the whole volume root.</description>
    </item>
    <item>
      <title>Docker Compose Tip #76: docker compose down and its options</title>
      <link>https://lours.me/posts/compose-tip-076-compose-down-options/</link>
      <pubDate>Mon, 15 Jun 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-076-compose-down-options/</guid>
      <description>What docker compose down actually removes, and the flags that decide whether you keep your data, your images, and your sibling services.</description>
    </item>
    <item>
      <title>Docker Compose Tip #75: Silencing noisy services with attach: false</title>
      <link>https://lours.me/posts/compose-tip-075-attach-false/</link>
      <pubDate>Fri, 12 Jun 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-075-attach-false/</guid>
      <description>Hide noisy service logs from docker compose up without losing access to them, using attach in the Compose file or attach flags on the CLI.</description>
    </item>
    <item>
      <title>Docker Compose Tip #74: docker compose ls and cross-project visibility</title>
      <link>https://lours.me/posts/compose-tip-074-compose-ls/</link>
      <pubDate>Wed, 10 Jun 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-074-compose-ls/</guid>
      <description>Inspect every Compose stack running on the host with docker compose ls, filter by name, and script around the output with json &#43; jq.</description>
    </item>
    <item>
      <title>Docker Compose Tip #73: expose vs ports — what actually gets published</title>
      <link>https://lours.me/posts/compose-tip-073-expose-vs-ports/</link>
      <pubDate>Mon, 08 Jun 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-073-expose-vs-ports/</guid>
      <description>Understand the difference between expose and ports in Compose: one documents intent, the other actually publishes a port to the host.</description>
    </item>
    <item>
      <title>Compose Bridge Deep Dive #72 — Part 3: Generating a Docker Model Runner app for Kubernetes</title>
      <link>https://lours.me/posts/compose-bridge-deep-dive-072-model-runner/</link>
      <pubDate>Fri, 05 Jun 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-bridge-deep-dive-072-model-runner/</guid>
      <description>Deploy a Compose file that declares LLMs to Kubernetes — either with the Docker Desktop host Model Runner or as a standalone in-cluster service — using Compose Bridge.</description>
    </item>
    <item>
      <title>Compose Bridge Deep Dive #71 — Part 2: Custom transformers and x-* extensions</title>
      <link>https://lours.me/posts/compose-bridge-deep-dive-071-custom-transformers/</link>
      <pubDate>Wed, 03 Jun 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-bridge-deep-dive-071-custom-transformers/</guid>
      <description>Bootstrap a custom Compose Bridge transformer, fold organisation-specific rules into the templates, and use x-* extension fields to drive the output.</description>
    </item>
    <item>
      <title>Compose Bridge Deep Dive #70 — Part 1: From Compose to Kubernetes</title>
      <link>https://lours.me/posts/compose-bridge-deep-dive-070-introduction/</link>
      <pubDate>Mon, 01 Jun 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-bridge-deep-dive-070-introduction/</guid>
      <description>What Compose Bridge is, how its transformer images work, and how to generate Kubernetes manifests directly from a Compose file.</description>
    </item>
    <item>
      <title>Docker Compose Tip #69: Sharing namespaces with pid and ipc</title>
      <link>https://lours.me/posts/compose-tip-069-pid-ipc/</link>
      <pubDate>Fri, 29 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-069-pid-ipc/</guid>
      <description>Share process and IPC namespaces between containers for debugging, profiling, and shared memory workloads</description>
    </item>
    <item>
      <title>Docker Compose Tip #68: Waiting for service exit with docker compose wait</title>
      <link>https://lours.me/posts/compose-tip-068-compose-wait/</link>
      <pubDate>Wed, 27 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-068-compose-wait/</guid>
      <description>Block until a service exits and propagate its exit code, perfect for migration containers and CI jobs</description>
    </item>
    <item>
      <title>Docker Compose Tip #67: Controlling image pulls with pull_policy</title>
      <link>https://lours.me/posts/compose-tip-067-pull-policy/</link>
      <pubDate>Mon, 25 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-067-pull-policy/</guid>
      <description>Decide when Compose should pull images from a registry with the pull_policy directive</description>
    </item>
    <item>
      <title>Docker Compose Tip #66: Volume drivers with NFS</title>
      <link>https://lours.me/posts/compose-tip-066-volume-drivers-nfs/</link>
      <pubDate>Fri, 22 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-066-volume-drivers-nfs/</guid>
      <description>Mount NFS shares as Compose volumes for shared storage across hosts using the built-in local driver</description>
    </item>
    <item>
      <title>Docker Compose Tip #65: Custom DNS configuration with dns and dns_search</title>
      <link>https://lours.me/posts/compose-tip-065-dns-config/</link>
      <pubDate>Wed, 20 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-065-dns-config/</guid>
      <description>Control which DNS servers a container uses, configure search domains, and tune the resolver</description>
    </item>
    <item>
      <title>Docker Compose Tip #64: Copying files with docker compose cp</title>
      <link>https://lours.me/posts/compose-tip-064-compose-cp/</link>
      <pubDate>Mon, 18 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-064-compose-cp/</guid>
      <description>Copy files in and out of containers without bind mounts or volumes using docker compose cp</description>
    </item>
    <item>
      <title>Docker Compose Tip #63: Tuning containers with ulimits and shm_size</title>
      <link>https://lours.me/posts/compose-tip-063-ulimits-shm-size/</link>
      <pubDate>Fri, 15 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-063-ulimits-shm-size/</guid>
      <description>Adjust kernel resource limits and shared memory size for containers that need more than the defaults</description>
    </item>
    <item>
      <title>Docker Compose Tip #62: Network aliases for service routing</title>
      <link>https://lours.me/posts/compose-tip-062-network-aliases/</link>
      <pubDate>Wed, 13 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-062-network-aliases/</guid>
      <description>Give a service multiple hostnames on a network with aliases, useful for migrations and legacy hostnames</description>
    </item>
    <item>
      <title>Docker Compose Tip #61: Provider services for non-container dependencies</title>
      <link>https://lours.me/posts/compose-tip-061-provider-services/</link>
      <pubDate>Mon, 11 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-061-provider-services/</guid>
      <description>Manage external dependencies like Kubernetes intercepts, managed databases, and VPN tunnels declaratively with the provider directive</description>
    </item>
    <item>
      <title>Docker Compose Tip #60: Declaring LLMs with the models section</title>
      <link>https://lours.me/posts/compose-tip-060-models-section/</link>
      <pubDate>Fri, 08 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-060-models-section/</guid>
      <description>Declare and connect LLMs to your services using the new Compose models top-level key</description>
    </item>
    <item>
      <title>Docker Compose Tip #59: entrypoint vs command</title>
      <link>https://lours.me/posts/compose-tip-059-entrypoint-vs-command/</link>
      <pubDate>Wed, 06 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-059-entrypoint-vs-command/</guid>
      <description>Understand the subtle but important difference between entrypoint and command, and when to use each</description>
    </item>
    <item>
      <title>Docker Compose Tip #58: Using configs for config files</title>
      <link>https://lours.me/posts/compose-tip-058-configs/</link>
      <pubDate>Mon, 04 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-058-configs/</guid>
      <description>Mount config files into containers declaratively with the configs top-level key, no volumes required</description>
    </item>
    <item>
      <title>Docker Compose Tip #57: Container resource monitoring</title>
      <link>https://lours.me/posts/compose-tip-057-resource-monitoring/</link>
      <pubDate>Fri, 01 May 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-057-resource-monitoring/</guid>
      <description>Monitor CPU, memory, and processes in your Compose stack with docker compose top and docker compose stats</description>
    </item>
    <item>
      <title>Docker Compose Tip #56: env_file advanced patterns</title>
      <link>https://lours.me/posts/compose-tip-056-env-file-advanced/</link>
      <pubDate>Wed, 29 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-056-env-file-advanced/</guid>
      <description>Go beyond a single .env file, multiple files, optional loading, formats, and precedence rules</description>
    </item>
    <item>
      <title>Docker Compose Tip #55: docker compose config advanced usage</title>
      <link>https://lours.me/posts/compose-tip-055-config-advanced/</link>
      <pubDate>Mon, 27 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-055-config-advanced/</guid>
      <description>Go beyond validation with docker compose config, list services, hash, resolve digests, and filter output</description>
    </item>
    <item>
      <title>See you at Devoxx France 2026!</title>
      <link>https://lours.me/posts/devoxx-france-2026/</link>
      <pubDate>Mon, 20 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/devoxx-france-2026/</guid>
      <description>I&amp;#39;ll be giving three talks at Devoxx France 2026 covering Docker Sandboxes, Compose for AI, and a tiny LLM powered RPG</description>
    </item>
    <item>
      <title>Docker Compose Tip #54: Preview changes with --dry-run</title>
      <link>https://lours.me/posts/compose-tip-054-dry-run/</link>
      <pubDate>Fri, 17 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-054-dry-run/</guid>
      <description>Use --dry-run to see what Compose will do before it actually does it</description>
    </item>
    <item>
      <title>Docker Compose Tip #53: Compose project name and working directory</title>
      <link>https://lours.me/posts/compose-tip-053-project-name-workdir/</link>
      <pubDate>Wed, 15 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-053-project-name-workdir/</guid>
      <description>Control project naming and working directory to avoid conflicts and organize multi-environment setups</description>
    </item>
    <item>
      <title>Docker Compose Tip #52: Setting up a CI test environment</title>
      <link>https://lours.me/posts/compose-tip-052-ci-test-environment/</link>
      <pubDate>Mon, 13 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-052-ci-test-environment/</guid>
      <description>Use Compose override files to create a dedicated CI environment with seeded database and automated tests</description>
    </item>
    <item>
      <title>Docker Compose Tip #51: docker compose up --wait for scripting and CI</title>
      <link>https://lours.me/posts/compose-tip-051-up-wait/</link>
      <pubDate>Fri, 10 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-051-up-wait/</guid>
      <description>Wait for all services to be healthy before proceeding, perfect for CI pipelines and scripts</description>
    </item>
    <item>
      <title>Docker Compose Tip #50: GPU support with deploy.resources</title>
      <link>https://lours.me/posts/compose-tip-050-gpu-support/</link>
      <pubDate>Wed, 08 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-050-gpu-support/</guid>
      <description>Reserve and use GPU devices in your Compose services for ML, AI, and compute workloads</description>
    </item>
    <item>
      <title>Docker Compose Tip #49: Mixed platforms with Linux containers and Wasm</title>
      <link>https://lours.me/posts/compose-tip-049-mixed-platforms-wasm/</link>
      <pubDate>Mon, 06 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-049-mixed-platforms-wasm/</guid>
      <description>Run Linux containers and WebAssembly modules side by side in the same Compose stack</description>
    </item>
    <item>
      <title>Docker Compose Tip #48: Network debugging with docker compose port</title>
      <link>https://lours.me/posts/compose-tip-048-network-debugging-port/</link>
      <pubDate>Fri, 03 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-048-network-debugging-port/</guid>
      <description>Find out which host port maps to a container port with docker compose port</description>
    </item>
    <item>
      <title>Docker Compose Tip #47: Sidecar container patterns</title>
      <link>https://lours.me/posts/compose-tip-047-sidecar-patterns/</link>
      <pubDate>Wed, 01 Apr 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-047-sidecar-patterns/</guid>
      <description>Use sidecar containers to add capabilities without modifying your main application</description>
    </item>
    <item>
      <title>Docker Compose Tip #46: Build args vs environment variables</title>
      <link>https://lours.me/posts/compose-tip-046-build-args-vs-env/</link>
      <pubDate>Mon, 30 Mar 2026 09:00:00 +0200</pubDate>
      <guid>https://lours.me/posts/compose-tip-046-build-args-vs-env/</guid>
      <description>Understand the difference between build-time args and runtime environment variables</description>
    </item>
    <item>
      <title>Docker Compose Tip #45: Multi-stage builds with target</title>
      <link>https://lours.me/posts/compose-tip-045-multi-stage-target/</link>
      <pubDate>Fri, 27 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-045-multi-stage-target/</guid>
      <description>Use the target option to build specific stages from multi-stage Dockerfiles</description>
    </item>
    <item>
      <title>Docker Compose Tip #44: Signal handling in containers</title>
      <link>https://lours.me/posts/compose-tip-044-signal-handling/</link>
      <pubDate>Wed, 25 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-044-signal-handling/</guid>
      <description>Control how your containers receive and handle stop signals for graceful shutdowns</description>
    </item>
    <item>
      <title>Docker Compose Tip #43: Read-only root filesystems</title>
      <link>https://lours.me/posts/compose-tip-043-read-only-rootfs/</link>
      <pubDate>Mon, 23 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-043-read-only-rootfs/</guid>
      <description>Harden your containers by making the root filesystem read-only</description>
    </item>
    <item>
      <title>Docker Compose Tip #42: Variable substitution and defaults</title>
      <link>https://lours.me/posts/compose-tip-042-variable-substitution/</link>
      <pubDate>Fri, 20 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-042-variable-substitution/</guid>
      <description>Use variable substitution with defaults, required values, and error messages in Compose files</description>
    </item>
    <item>
      <title>Docker Compose Tip #41: Container lifecycle hooks</title>
      <link>https://lours.me/posts/compose-tip-041-lifecycle-hooks/</link>
      <pubDate>Wed, 18 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-041-lifecycle-hooks/</guid>
      <description>Run commands at specific points in a container&amp;#39;s lifecycle with post_start and pre_stop hooks</description>
    </item>
    <item>
      <title>Docker Compose Tip #40: Using labels for service organization and monitoring</title>
      <link>https://lours.me/posts/compose-tip-040-labels/</link>
      <pubDate>Mon, 16 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-040-labels/</guid>
      <description>Organize, filter, and integrate services with labels</description>
    </item>
    <item>
      <title>Docker Compose Tip #39: Combining include, extends, and overrides</title>
      <link>https://lours.me/posts/compose-tip-039-combining-include-extends-overrides/</link>
      <pubDate>Fri, 13 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-039-combining-include-extends-overrides/</guid>
      <description>Use include, extends, and override files together for a clean and flexible multi-environment setup</description>
    </item>
    <item>
      <title>Docker Compose Tip #38: When to use include vs extends vs overrides</title>
      <link>https://lours.me/posts/compose-tip-038-when-to-use-which/</link>
      <pubDate>Wed, 11 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-038-when-to-use-which/</guid>
      <description>A practical guide to choosing the right Compose configuration mechanism for each situation</description>
    </item>
    <item>
      <title>Docker Compose Tip #37: Understanding include, extends, and override files</title>
      <link>https://lours.me/posts/compose-tip-037-include-extends-overrides/</link>
      <pubDate>Mon, 09 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-037-include-extends-overrides/</guid>
      <description>Three different mechanisms to split and reuse Compose configurations, each working very differently</description>
    </item>
    <item>
      <title>Docker Compose Tip #36: Using extra_hosts for custom DNS entries</title>
      <link>https://lours.me/posts/compose-tip-036-extra-hosts/</link>
      <pubDate>Fri, 06 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-036-extra-hosts/</guid>
      <description>Add custom hostname mappings without modifying system hosts file</description>
    </item>
    <item>
      <title>Docker Compose Tip #35: Using tmpfs for ephemeral storage</title>
      <link>https://lours.me/posts/compose-tip-035-tmpfs-storage/</link>
      <pubDate>Wed, 04 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-035-tmpfs-storage/</guid>
      <description>Boost performance with in-memory tmpfs mounts for temporary data</description>
    </item>
    <item>
      <title>Docker Compose Tip #34: Debugging with exec vs run</title>
      <link>https://lours.me/posts/compose-tip-034-exec-vs-run/</link>
      <pubDate>Mon, 02 Mar 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-034-exec-vs-run/</guid>
      <description>Understanding when to use docker compose exec vs run for debugging</description>
    </item>
    <item>
      <title>Docker Compose Tip #33: Using logging drivers and options</title>
      <link>https://lours.me/posts/compose-tip-033-logging-drivers/</link>
      <pubDate>Fri, 27 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-033-logging-drivers/</guid>
      <description>Configure logging drivers for better log management and analysis</description>
    </item>
    <item>
      <title>Docker Compose Tip #32: Build contexts and dockerignore patterns</title>
      <link>https://lours.me/posts/compose-tip-032-build-context-dockerignore/</link>
      <pubDate>Wed, 25 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-032-build-context-dockerignore/</guid>
      <description>Optimize build performance with proper context management and .dockerignore patterns</description>
    </item>
    <item>
      <title>Docker Compose Tip #31: Network isolation between services</title>
      <link>https://lours.me/posts/compose-tip-031-network-isolation/</link>
      <pubDate>Mon, 23 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-031-network-isolation/</guid>
      <description>Isolate services with custom networks for enhanced security</description>
    </item>
    <item>
      <title>Docker Compose Tip #30: Compose include for modular configurations</title>
      <link>https://lours.me/posts/compose-tip-030-include/</link>
      <pubDate>Fri, 13 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-030-include/</guid>
      <description>Build modular, reusable Compose configurations with the include directive</description>
    </item>
    <item>
      <title>Docker Compose Tip #29: Container capabilities and security options</title>
      <link>https://lours.me/posts/compose-tip-029-container-capabilities/</link>
      <pubDate>Thu, 12 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-029-container-capabilities/</guid>
      <description>Fine-tune container security with Linux capabilities and security options</description>
    </item>
    <item>
      <title>Docker Compose Tip #28: Converting docker run commands to Compose</title>
      <link>https://lours.me/posts/compose-tip-028-docker-run-to-compose/</link>
      <pubDate>Wed, 11 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-028-docker-run-to-compose/</guid>
      <description>Transform complex docker run commands into clean Compose configurations</description>
    </item>
    <item>
      <title>Docker Compose Tip #27: Extension fields as metadata for tools and platforms</title>
      <link>https://lours.me/posts/compose-tip-027-extension-metadata/</link>
      <pubDate>Tue, 10 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-027-extension-metadata/</guid>
      <description>Use extension fields to store metadata for tools, platforms, and deployment environments</description>
    </item>
    <item>
      <title>Docker Compose Tip #26: Using restart policies effectively</title>
      <link>https://lours.me/posts/compose-tip-026-restart-policies/</link>
      <pubDate>Mon, 09 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-026-restart-policies/</guid>
      <description>Configure automatic container restarts for resilient applications</description>
    </item>
    <item>
      <title>Docker Compose Tip #25: Using docker compose events for monitoring</title>
      <link>https://lours.me/posts/compose-tip-025-events/</link>
      <pubDate>Fri, 06 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-025-events/</guid>
      <description>Monitor container lifecycle and build automation with docker compose events</description>
    </item>
    <item>
      <title>Docker Compose Tip #24: Using profiles to organize optional services</title>
      <link>https://lours.me/posts/compose-tip-024-profiles/</link>
      <pubDate>Thu, 05 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-024-profiles/</guid>
      <description>Control which services start with profiles for dev, test, and production scenarios</description>
    </item>
    <item>
      <title>Docker Compose Tip #23: Multi-platform builds with platforms</title>
      <link>https://lours.me/posts/compose-tip-023-multi-platform/</link>
      <pubDate>Wed, 04 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-023-multi-platform/</guid>
      <description>Build Docker images for multiple CPU architectures with one command</description>
    </item>
    <item>
      <title>Docker Compose Tip #22: Using secrets in Compose files</title>
      <link>https://lours.me/posts/compose-tip-022-secrets/</link>
      <pubDate>Tue, 03 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-022-secrets/</guid>
      <description>How to securely manage passwords and API keys in Docker Compose</description>
    </item>
    <item>
      <title>Docker Compose Tip #21: Understanding bridge vs host networking modes</title>
      <link>https://lours.me/posts/compose-tip-021-bridge-vs-host/</link>
      <pubDate>Mon, 02 Feb 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-021-bridge-vs-host/</guid>
      <description>When to use bridge vs host networking modes and their security implications</description>
    </item>
    <item>
      <title>Docker Compose Tip #20: Using docker compose logs effectively</title>
      <link>https://lours.me/posts/compose-tip-020-docker-compose-logs/</link>
      <pubDate>Fri, 30 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-020-docker-compose-logs/</guid>
      <description>Master docker compose logs to debug issues quickly and monitor your applications</description>
    </item>
    <item>
      <title>Docker Compose Tip #19: Override files for local development</title>
      <link>https://lours.me/posts/compose-tip-019-override-files/</link>
      <pubDate>Thu, 29 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-019-override-files/</guid>
      <description>How to use compose.override.yml for seamless local development configurations</description>
    </item>
    <item>
      <title>Docker Compose Tip #18: Graceful shutdown with stop_grace_period</title>
      <link>https://lours.me/posts/compose-tip-018-graceful-shutdown/</link>
      <pubDate>Wed, 28 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-018-graceful-shutdown/</guid>
      <description>How to configure graceful shutdown timeouts for containers in Docker Compose</description>
    </item>
    <item>
      <title>Docker Compose Tip #17: YAML anchors to reduce duplication</title>
      <link>https://lours.me/posts/compose-tip-017-yaml-anchors/</link>
      <pubDate>Tue, 27 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-017-yaml-anchors/</guid>
      <description>How to use YAML anchors and aliases to eliminate duplication in Compose files</description>
    </item>
    <item>
      <title>Docker Compose Tip #16: Setting resource limits with deploy.resources</title>
      <link>https://lours.me/posts/compose-tip-016-resource-limits/</link>
      <pubDate>Mon, 26 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-016-resource-limits/</guid>
      <description>How to set CPU and memory limits for containers in Docker Compose</description>
    </item>
    <item>
      <title>Docker Compose Tip #15: Blue-green deployments with Traefik</title>
      <link>https://lours.me/posts/compose-tip-015-blue-green-deployments/</link>
      <pubDate>Fri, 23 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-015-blue-green-deployments/</guid>
      <description>How to implement zero-downtime blue-green deployments with Docker Compose and Traefik</description>
    </item>
    <item>
      <title>Docker Compose Tip #14: Running containers as non-root users</title>
      <link>https://lours.me/posts/compose-tip-014-non-root-users/</link>
      <pubDate>Thu, 22 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-014-non-root-users/</guid>
      <description>How to run containers with non-root users for improved security</description>
    </item>
    <item>
      <title>Docker Compose Tip #13: Using external networks to connect multiple projects</title>
      <link>https://lours.me/posts/compose-tip-013-external-networks/</link>
      <pubDate>Wed, 21 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-013-external-networks/</guid>
      <description>How to connect containers from different Compose projects using external networks</description>
    </item>
    <item>
      <title>Docker Compose Tip #12: Using target to specify build stages</title>
      <link>https://lours.me/posts/compose-tip-012-target-build-stages/</link>
      <pubDate>Tue, 20 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-012-target-build-stages/</guid>
      <description>How to use target to build specific stages from multi-stage Dockerfiles</description>
    </item>
    <item>
      <title>Docker Compose Tip #11: Mastering docker compose up --watch for hot reload</title>
      <link>https://lours.me/posts/compose-tip-011-docker-compose-watch/</link>
      <pubDate>Mon, 19 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-011-docker-compose-watch/</guid>
      <description>How to use docker compose watch for automatic hot reloading during development</description>
    </item>
    <item>
      <title>Docker Compose Tip #10: Using init for proper PID 1 handling</title>
      <link>https://lours.me/posts/compose-tip-010-init-pid1/</link>
      <pubDate>Fri, 16 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-010-init-pid1/</guid>
      <description>Why and how to use init in Docker Compose for proper signal handling and zombie reaping</description>
    </item>
    <item>
      <title>Docker Compose Tip #9: Publishing Compose applications as OCI artifacts</title>
      <link>https://lours.me/posts/compose-tip-009-oci-artifacts/</link>
      <pubDate>Thu, 15 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-009-oci-artifacts/</guid>
      <description>How to publish and share Docker Compose applications as OCI artifacts</description>
    </item>
    <item>
      <title>Docker Compose Tip #8: Healthchecks with Docker Hardened Images</title>
      <link>https://lours.me/posts/compose-tip-008-dhi-healthcheck/</link>
      <pubDate>Wed, 14 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-008-dhi-healthcheck/</guid>
      <description>How to add healthchecks using sidecar pattern with Docker Hardened Images</description>
    </item>
    <item>
      <title>Docker Compose Tip #7: Restarting single services without stopping the stack</title>
      <link>https://lours.me/posts/compose-tip-007-restart-single/</link>
      <pubDate>Tue, 13 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-007-restart-single/</guid>
      <description>How to restart individual services in Docker Compose without bringing down your entire stack</description>
    </item>
    <item>
      <title>Docker Compose Tip #6: Service discovery and internal DNS</title>
      <link>https://lours.me/posts/compose-tip-006-service-discovery/</link>
      <pubDate>Mon, 12 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-006-service-discovery/</guid>
      <description>How Docker Compose handles service discovery between containers</description>
    </item>
    <item>
      <title>Docker Compose Tip #5: Writing Compose files for AI tools</title>
      <link>https://lours.me/posts/compose-tip-005-ai-documentation/</link>
      <pubDate>Fri, 09 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-005-ai-documentation/</guid>
      <description>How to structure Compose files so AI tools understand them better</description>
    </item>
    <item>
      <title>Docker Compose Tip #4: Using SSH keys during build</title>
      <link>https://lours.me/posts/compose-tip-004-ssh-build/</link>
      <pubDate>Thu, 08 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-004-ssh-build/</guid>
      <description>How to securely use SSH keys in Docker builds for private repositories</description>
    </item>
    <item>
      <title>Docker Compose Tip #3: Service dependencies with health checks</title>
      <link>https://lours.me/posts/compose-tip-003-depends-on-healthcheck/</link>
      <pubDate>Wed, 07 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-003-depends-on-healthcheck/</guid>
      <description>How to make services wait for dependencies to be actually ready</description>
    </item>
    <item>
      <title>Docker Compose Tip #2: Using --env-file for different environments</title>
      <link>https://lours.me/posts/compose-tip-002-env-files/</link>
      <pubDate>Tue, 06 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-002-env-files/</guid>
      <description>How to manage dev, staging, and production configurations with env files</description>
    </item>
    <item>
      <title>Docker Compose Tip #1: Debug your configuration with config</title>
      <link>https://lours.me/posts/compose-tip-001-validate-config/</link>
      <pubDate>Mon, 05 Jan 2026 09:00:00 +0100</pubDate>
      <guid>https://lours.me/posts/compose-tip-001-validate-config/</guid>
      <description>How docker compose config helps debug complex configurations and profiles</description>
    </item>
  </channel>
</rss>
