Docker Compose · Configuration · DevOps
YAML Docker Compose — Convertir en JSON
Mis à jour : mai 2026
Le fichier docker-compose.yml est le point central de vos configurations Docker multi-conteneurs. Convertir ce YAML en JSON permet de le déboguer, de le documenter, de le passer à un outil de validation ou de l'intégrer dans un pipeline d'infrastructure as code.
Gratuit · Sans upload · Dans le navigateur
Exemple de docker-compose.yml
version: "3.9"
services:
web:
image: nginx:alpine
ports:
- "80:80"
depends_on:
- db
environment:
NGINX_HOST: example.com
db:
image: postgres:15
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: secret
volumes:
pgdata:
Ce fichier se convertit en un objet JSON structuré, avec les services, volumes et réseaux correctement imbriqués.
Cas d'usage courants
- Déboguer un
docker-compose.ymlcomplexe en inspectant sa représentation JSON parsée. - Valider la structure avec un JSON Schema pour détecter les erreurs avant le déploiement.
- Intégrer la configuration dans un outil d'infrastructure as code qui attend du JSON.
- Comparer deux versions d'un Compose file via un diff JSON.
- Générer de la documentation automatisée à partir de la config.
Particularités Docker Compose en YAML
- Ports en chaîne :
"80:80"entre guillemets pour éviter que YAML l'interprète comme un entier sexagésimal. - Variables d'environnement : peuvent être des listes ou des mappings. Les deux formes sont supportées.
- Volumes nommés : définis avec une clé vide (
pgdata:). Ils deviennentnullen JSON — comportement normal. - Extensions (
x-) : les clés d'extension Docker Compose sont converties comme des clés normales.
Questions fréquentes
Les variables ${ENV_VAR} sont-elles résolues ?
Non. Les variables d'environnement restent telles quelles sous forme de chaîne. La résolution se fait à l'exécution de Docker.
Mon docker-compose.yml utilise des ancres YAML (&default), est-ce supporté ?
Les ancres simples et les aliases sont partiellement supportés. Les merges (<<: *default) peuvent ne pas être entièrement résolus.
Puis-je reconvertir le JSON en docker-compose.yml ?
Oui. Copiez le JSON produit, basculez en mode JSON → YAML et convertissez. Le YAML obtenu est équivalent à l'original.