Matthieu Vincent

Docker Compose: Rediscovered

Stop writing brittle Docker Compose files. Learn to build robust, secure, and maintainable multi-container apps with advanced orchestration patterns.

Docker Compose: Rediscovered
#1about 3 minutes

Implementing service health checks with a sidecar pattern

Use the `healthcheck` directive and a sidecar container with a shared `network_mode` to monitor application health without modifying the main image.

#2about 2 minutes

Controlling service startup order with `depends_on`

Use the `depends_on` directive with a `service_healthy` condition to ensure dependent services only start after their dependencies are fully operational.

#3about 4 minutes

Defining and centralizing container resource limits

Set CPU and memory constraints using `deploy.resources.limits` and centralize these definitions with YAML anchors to avoid duplication.

#4about 5 minutes

Organizing compose files with `extends` and `include`

Improve maintainability by moving common service definitions to a base file using `extends` and splitting a large stack into multiple files using `include`.

#5about 5 minutes

Creating environment-specific configurations with profiles and overrides

Use `profiles` to conditionally enable services for specific environments and use override files to apply different configurations like resource limits for production.

#6about 3 minutes

Linting Docker Compose files with `dyslint`

Use the `dyslint` tool to automatically check compose files for best practices, identify potential security issues, and apply automated fixes.

#7about 4 minutes

Converting compose files to Kubernetes manifests with `kompose`

Use the `kompose` tool to automatically convert a Docker Compose application into Kubernetes manifests as a starting point for migrating to Kubernetes.

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

Featured Partners

Related Articles

View all articles

From learning to earning

Jobs that call for the skills explored in this talk.