Docker Compose : comment avoir un environnement dev et prod différents ?
poze 2 months ago502 gadefr
5
En dev je veux le rechargement à chaud et un volume sur le code. En prod, l'image compilée sans volume. Je duplique tout mon docker-compose.yml ?
Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
poze 2 months ago
Samuel Joseph 2.7k
1 Repons
3
✓✓ Repons yo aksepte
Non : utilise un fichier de base et des surcharges. Compose fusionne automatiquement compose.yaml et compose.override.yaml :
# compose.yaml : commun (prod)
services:
app:
build: .
env_file: .env
ports: ["3000:3000"]
# compose.override.yaml : dev, chargé automatiquement en local
services:
app:
build:
target: dev
command: npm run dev
volumes:
- ./:/app
- /app/node_modules # garde les node_modules du conteneur
En production, on ne charge que la base (ou une surcharge prod explicite) :
docker compose -f compose.yaml -f compose.prod.yaml up -d
Pour des services optionnels (pgAdmin, mailpit…), utilise les profiles : profiles: ["tools"], puis docker compose --profile tools up.
Konekte pou di lòt moun si li te mache.
answered 2 months ago
David Charles 2.9k
Sign in and verify your email to post an answer.