Soy nuevo usuario de Docker. Y en los manuales diferentes, generalmente encuentro el archivo docker-compose.yml para la descripción del trabajo de la ventana acoplable, pero en el sitio de la ventana acoplable para este objetivo se usa el archivo docker-stack.yml. ¿Qué diferencia?
docker-compose.yml es para la herramienta docker-compose, que es para aplicaciones docker de múltiples contenedores en un solo motor docker.
se llama con
docker-compose updocker-stack.yml es para la herramienta docker swarm. (para orquestación y programación).
se llama con
docker stackPara agregar a la respuesta de Gabbax0r:
Docker Swarm era un componente independiente que se usaba para agrupar los motores de Docker como uno solo.
A partir de Docker 1.12, el "Swarm" independiente se integró dentro del motor de Docker ( lea el preámbulo en esta página ), y Swarm es (o será) un legado.
Para responder a su pregunta original, son solo nombres diferentes para casos diferentes, pero ambos tienen el mismo propósito.
Para responder a su pregunta de comentario, use docker-compose cuando tenga que orquestar una aplicación de varios contenedores en un solo nodo; Si tiene que preocuparse por los nodos múltiples y el equilibrio de carga y todas estas cosas avanzadas, es mejor que vaya con Swarm.
El docker-stack.yml tiene la ventaja sobre docker-compose.yml :
Actualizar por separado
Cuando trabaje con servicios, enjambres y archivos docker-stack.yml, tenga en cuenta que las tareas (contenedores) que respaldan un servicio se pueden implementar en cualquier nodo de un enjambre.
Esto se puede aplicar a un nodo diferente cada vez que se actualiza el servicio.
Implementar de forma remota
Si está ejecutando Docker Swarm en su host privado, entonces docker-stack.yml puede usarse para acceder e implementar su aplicación de forma remota en el host usando una clave SSH.
Incluso puede usar un servicio como Codefresh para hacerlo.