Prevent container resource exhaustion!
Set CPU and memory limits:
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
Monitor with: docker compose stats
Full guide: lours.me/posts/compose-tip-016-resource-limits/
#Docker #DockerCompose #Performance
Prevent container resource exhaustion!
Set CPU and memory limits:
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
Monitor with: docker compose stats
Full guide: lours.me/posts/compose-tip-016-resource-limits/
#Docker #DockerCompose #Performance
Le meurtre d’Alex Pretti, abattu samedi par des agents de la police aux frontières alors qu’il était immobilisé au sol, ravive la colère aux Etats-Unis. Récit de notre envoyé spécial sur la scène du meurtre.
bsky.app/profile/did:...
bsky.app/profile/did:...
"All AI usage in any form must be disclosed.
You must state the tool you used (e.g. Claude Code, Cursor, Amp) along with the extent that the work was AI-assisted."
github.com/ghostty-org...
"All AI usage in any form must be disclosed.
You must state the tool you used (e.g. Claude Code, Cursor, Amp) along with the extent that the work was AI-assisted."
github.com/ghostty-org...
Zero-downtime deploys with Traefik 🚦
Switch traffic via env vars:
BLUE_ENABLED=false GREEN_ENABLED=true docker compose up -d
Blue/green & instant routing...
Guide 👉 lours.me/posts/compose-tip-015-blue-green-deployments/
#Docker #Traefik #devops
Zero-downtime deploys with Traefik 🚦
Switch traffic via env vars:
BLUE_ENABLED=false GREEN_ENABLED=true docker compose up -d
Blue/green & instant routing...
Guide 👉 lours.me/posts/compose-tip-015-blue-green-deployments/
#Docker #Traefik #devops
Stop running containers as root!
services:
app:
user: "1000:1000"
Simple change, huge security improvement. Defense in depth.
How to do it right: lours.me/posts/compose-tip-014-non-root-users/
#Docker #Security #DevSecOps
Stop running containers as root!
services:
app:
user: "1000:1000"
Simple change, huge security improvement. Defense in depth.
How to do it right: lours.me/posts/compose-tip-014-non-root-users/
#Docker #Security #DevSecOps
Stop running containers as root!
services:
app:
user: "1000:1000"
Simple change, huge security improvement. Defense in depth.
How to do it right: lours.me/posts/compose-tip-014-non-root-users/
#Docker #Security #DevSecOps
Stop running containers as root!
services:
app:
user: "1000:1000"
Simple change, huge security improvement. Defense in depth.
How to do it right: lours.me/posts/compose-tip-014-non-root-users/
#Docker #Security #DevSecOps
Connect containers across different projects!
Create external networks to share databases, caches, or APIs between multiple Compose stacks.
Perfect for microservices architecture.
Learn how: lours.me/posts/compose-tip-013-external-networks/
#Docker #Microservices
Connect containers across different projects!
Create external networks to share databases, caches, or APIs between multiple Compose stacks.
Perfect for microservices architecture.
Learn how: lours.me/posts/compose-tip-013-external-networks/
#Docker #Microservices
Connect containers across different projects!
Create external networks to share databases, caches, or APIs between multiple Compose stacks.
Perfect for microservices architecture.
Learn how: lours.me/posts/compose-tip-013-external-networks/
#Docker #Microservices
Connect containers across different projects!
Create external networks to share databases, caches, or APIs between multiple Compose stacks.
Perfect for microservices architecture.
Learn how: lours.me/posts/compose-tip-013-external-networks/
#Docker #Microservices
Shipping at scale is messy- production scars, security theater, AI hype vs. reality. Host Per Krogslund turns that mess into real lessons from engineers who’ve been there.
Ep 1 drops next Tues, w/ guest Vasek Mlejnsky (E2B)
Subscribe: https://bit.ly/4qw8uz1
Shipping at scale is messy- production scars, security theater, AI hype vs. reality. Host Per Krogslund turns that mess into real lessons from engineers who’ve been there.
Ep 1 drops next Tues, w/ guest Vasek Mlejnsky (E2B)
Subscribe: https://bit.ly/4qw8uz1
More details:
* quarkus.io/blog/a2a-jav...
* medium.com/@kabir_khan/...
More details:
* quarkus.io/blog/a2a-jav...
* medium.com/@kabir_khan/...
One Dockerfile, multiple environment builds!
Use `target` to build specific stages:
• Dev stage: 450MB (with tools)
• Prod stage: 12MB (optimized)
That's 37x smaller! Same Dockerfile.
Details: lours.me/posts/compose-tip-012-target-build-stages/
#Docker #DockerCompose
One Dockerfile, multiple environment builds!
Use `target` to build specific stages:
• Dev stage: 450MB (with tools)
• Prod stage: 12MB (optimized)
That's 37x smaller! Same Dockerfile.
Details: lours.me/posts/compose-tip-012-target-build-stages/
#Docker #DockerCompose
One Dockerfile, multiple environment builds!
Use `target` to build specific stages:
• Dev stage: 450MB (with tools)
• Prod stage: 12MB (optimized)
That's 37x smaller! Same Dockerfile.
Details: lours.me/posts/compose-tip-012-target-build-stages/
#Docker #DockerCompose
One Dockerfile, multiple environment builds!
Use `target` to build specific stages:
• Dev stage: 450MB (with tools)
• Prod stage: 12MB (optimized)
That's 37x smaller! Same Dockerfile.
Details: lours.me/posts/compose-tip-012-target-build-stages/
#Docker #DockerCompose
One Dockerfile, multiple environment builds!
Use `target` to build specific stages:
• Dev stage: 450MB (with tools)
• Prod stage: 12MB (optimized)
That's 37x smaller! Same Dockerfile.
Details: lours.me/posts/compose-tip-012-target-build-stages/
#Docker #DockerCompose
Give you dev containers hot reload capabilities
docker compose up --watch
Auto-syncs code changes, rebuild on dep updates & reloads on config modifications.
Read more: lours.me/posts/compose-tip-011-docker-compose-watch/
#Docker #DockerCompose #DevTools
Give you dev containers hot reload capabilities
docker compose up --watch
Auto-syncs code changes, rebuild on dep updates & reloads on config modifications.
Read more: lours.me/posts/compose-tip-011-docker-compose-watch/
#Docker #DockerCompose #DevTools
Give you dev containers hot reload capabilities
docker compose up --watch
Auto-syncs code changes, rebuild on dep updates & reloads on config modifications.
Read more: lours.me/posts/compose-tip-011-docker-compose-watch/
#Docker #DockerCompose #DevTools
Give you dev containers hot reload capabilities
docker compose up --watch
Auto-syncs code changes, rebuild on dep updates & reloads on config modifications.
Read more: lours.me/posts/compose-tip-011-docker-compose-watch/
#Docker #DockerCompose #DevTools
• Service discovery: DNS magic built-in
• Restart single services
• DHI healthchecks: sidecar pattern
• OCI artifacts: one-command deploys
• init: true - no more zombies
lours.me/tags/docker-compose/
#Docker #DockerCompose
• Service discovery: DNS magic built-in
• Restart single services
• DHI healthchecks: sidecar pattern
• OCI artifacts: one-command deploys
• init: true - no more zombies
lours.me/tags/docker-compose/
#Docker #DockerCompose
Zombie processes? Signals not working?
services:
app:
init: true
Adds tiny init system (Tini) as PID 1. Handles signals properly, reaps zombies.
Essential for Node.js, Python apps!
Details: lours.me/posts/compose-tip-010-init-pid1/
#Docker #BestPractices
Zombie processes? Signals not working?
services:
app:
init: true
Adds tiny init system (Tini) as PID 1. Handles signals properly, reaps zombies.
Essential for Node.js, Python apps!
Details: lours.me/posts/compose-tip-010-init-pid1/
#Docker #BestPractices
Ca parle de crédit d'influence et comment la dépenser.
Tout le monde va reconnaitre des situations déjà vécu :)
lalitm.com/post/why-sen...
Ca parle de crédit d'influence et comment la dépenser.
Tout le monde va reconnaitre des situations déjà vécu :)
lalitm.com/post/why-sen...
Share and use Compose apps as OCI artifacts!
docker compose publish myapp:v1
Users run with one command:
docker compose -f oci://docker.io/myapp:v1 up
No git clone, no README. Just run.
Guide: lours.me/posts/compose-tip-009-oci-artifacts/
#Docker #OCI
Share and use Compose apps as OCI artifacts!
docker compose publish myapp:v1
Users run with one command:
docker compose -f oci://docker.io/myapp:v1 up
No git clone, no README. Just run.
Guide: lours.me/posts/compose-tip-009-oci-artifacts/
#Docker #OCI
Share and use Compose apps as OCI artifacts!
docker compose publish myapp:v1
Users run with one command:
docker compose -f oci://docker.io/myapp:v1 up
No git clone, no README. Just run.
Guide: lours.me/posts/compose-tip-009-oci-artifacts/
#Docker #OCI
Share and use Compose apps as OCI artifacts!
docker compose publish myapp:v1
Users run with one command:
docker compose -f oci://docker.io/myapp:v1 up
No git clone, no README. Just run.
Guide: lours.me/posts/compose-tip-009-oci-artifacts/
#Docker #OCI
DHI images = max security. But no tools for healthchecks!
Solution: Secure sidecar
app-health:
image: dhi.io/curl:8-debian13-dev
network_mode: "service:app"
Shares network → localhost works!
Guide: lours.me/posts/compose-tip-008-dhi-healthcheck/
#Docker #Security
DHI images = max security. But no tools for healthchecks!
Solution: Secure sidecar
app-health:
image: dhi.io/curl:8-debian13-dev
network_mode: "service:app"
Shares network → localhost works!
Guide: lours.me/posts/compose-tip-008-dhi-healthcheck/
#Docker #Security