【发布时间】:2017-08-23 06:56:29
【问题描述】:
我正在学习如何使用 Docker Compose 在多个容器中跨多个主机部署应用程序。而且我遇到了两个配置文件 - 堆栈文件和 Compose 文件。
从Cloud stack file YAML reference 开始,它指出堆栈文件是一种 YAML 格式的文件,它定义了一个或多个服务,类似于 docker-compose.yml 文件,但有一些扩展名。
从this post 开始,它指出堆栈与 docker-compose 非常相似,只是它们定义了服务,而 docker-compose 定义了容器。
它们看起来非常相似,所以我想知道何时使用堆栈文件,何时使用 Compose 文件?
【问题讨论】:
-
好问题。我还想问一下,既然我们已经有了 docker compose,为什么还需要 Docker 堆栈?在第二个链接中,它指出 docker stack 是 docker 引擎的服务,而 docker compose 不是。那为什么我们不能只升级 docker compose 并使其成为服务呢?
-
@lonelyloner 好问题,我猜这是因为 docker-compose 是它自己的工具,它没有集成到 docker 中。在 Linux 上,我必须单独安装它,而在 Windows 上,我相信它与 Docker 一起安装。希望将来 docker 将它们合并,并且将只有堆栈文件。
标签: docker docker-compose docker-swarm docker-swarm-mode