← Accéder à l'outil

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.

Convertir un docker-compose.yml →

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.yml complexe 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 deviennent null en 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.