Historia y desarrollo de Docker Compose
Esta página proporciona:
- Una breve historia del desarrollo de la CLI de Docker Compose
- Una explicación clara de las versiones principales y formatos de archivo que componen Compose v1, v2 y v5
- Las principales diferencias entre Compose v1, v2 y v5
Introducción

El diagrama anterior destaca las diferencias clave entre Docker Compose v1, v2 y v5. Las versiones compatibles de la CLI de Docker Compose son Compose v2 y Compose v5, ambas definidas por la Especificación de Compose.
El diagrama proporciona una comparación de alto nivel de los formatos de archivo, la sintaxis de la línea de comandos y los elementos de nivel superior admitidos. Esto se detalla en las siguientes secciones.
Versiones de la CLI de Docker Compose
Compose v1 se lanzó por primera vez en 2014. Estaba escrito en Python y se invocaba con docker-compose.
Por lo general, los proyectos de Compose v1 incluyen un elemento version de nivel superior en el archivo compose.yaml, con valores que van desde 2.0 hasta 3.8, los cuales hacen referencia a los formatos de archivo específicos.
Compose v2, anunciado en 2020, está escrito en Go y se invoca con docker compose.
A diferencia de v1, Compose v2 ignora el elemento de nivel superior version en el archivo compose.yaml y se basa completamente en la Especificación de Compose para interpretar el archivo.
Compose v5, lanzado en 2025, es funcionalmente idéntico a Compose v2. Su principal diferencia es la introducción de un SDK de Go oficial. Este SDK proporciona una API completa que te permite integrar la funcionalidad de Compose directamente en tus aplicaciones, lo que te permite cargar, validar y gestionar entornos de múltiples contenedores sin depender de la CLI de Compose. Para evitar confusiones con los formatos de archivo heredados de Compose etiquetados como “v2” y “v3”, el número de versión se avanzó directamente a la v5.
Versiones del formato de archivo de Compose
Las CLI de Docker Compose están definidas por formatos de archivo específicos.
Se lanzaron tres versiones principales del formato de archivo de Compose para Compose v1:
- Formato de archivo de Compose 1 con Compose 1.0.0 en 2014
- Formato de archivo de Compose 2.x con Compose 1.6.0 en 2016
- Formato de archivo de Compose 3.x con Compose 1.10.0 in 2017
El formato de archivo de Compose 1 es sustancialmente diferente a todos los formatos siguientes, ya que carece de una clave de nivel superior services.
Su uso es histórico y los archivos escritos en este formato no se ejecutan con Compose v2 o v5.
Los formatos de archivo de Compose 2.x y 3.x son muy similares entre sí, pero este último introdujo muchas opciones nuevas dirigidas a despliegues de Swarm.
Para resolver la confusión en torno a las versiones de la CLI de Compose, las versiones del formato de archivo de Compose y la paridad de características según si se utilizaba el modo Swarm, los formatos de archivo 2.x y 3.x se fusionaron en la Especificación de Compose.
Compose v2 y v5 utilizan la Especificación de Compose para la definición del proyecto. A diferencia de los formatos de archivo anteriores, la Especificación de Compose es continua (rolling) y hace que el elemento de nivel superior version sea opcional. Compose v2 y v5 también utilizan especificaciones opcionales:
Deploy,
Develop y
Build.
Para facilitar la migración, Compose v2 y v5 ofrecen compatibilidad con versiones anteriores para ciertos elementos que han sido declarados obsoletos o modificados entre los formatos de archivo de Compose 2.x/3.x y la Especificación de Compose.