day*_*oli 48 docker docker-compose docker-swarm docker-swarm-mode
我正在学习如何使用Docker Compose在多个主机上的多个容器中部署应用程序.我遇到了两个配置文件 - 堆栈文件和Compose文件.
从云堆栈文件YAML引用中,它指出堆栈文件是YAML格式的文件,它定义一个或多个服务,类似于docker-compose.yml文件但具有一些扩展名.
从这篇文章中,它指出堆栈与docker-compose非常相似,除了它们定义服务而docker-compose定义容器.
它们看起来非常相似,所以我想知道何时使用堆栈文件,何时使用Compose文件?
Rom*_*Mik 47
从概念上讲,这两个文件都有相同的用途 - 在docker引擎上部署和配置容器.
首先创建了Docker-compose工具,其目的是"在单个docker引擎上定义和运行多容器Docker应用程序".(参见码头撰写概述)
您可以使用它docker-compose up来创建/更新容器,网络,卷等.
凡泊坞堆在码头工人群(泊坞窗的编排和调度工具),因此,它具有其它配置参数使用(即副本,部署角色),不需要在一个单一的码头工人引擎.
堆栈文件由docker stack命令解释.只能从docker swarm管理器调用此命令.
您可以将docker-compose.yml转换为docker-cloud.yml并返回.但是,正如您的问题所述,您必须注意差异.此外,您需要记住,docker-compose有不同的版本.目前,最新版本是版本3.(https://docs.docker.com/compose/compose-file/)
编辑:一个有趣的博客,可能有助于理解差异,可以在这里找到https://blog.nimbleci.com/2016/09/14/docker-stacks-and-why-we-need-them/
Jer*_*ass 15
注意:问题猜测 Docker Cloud 参考是理解堆栈的首选,它很有用,但这不是 stack vs compose 的权威来源——而是特定于 Docker 托管服务的指南:“Docker Cloud 提供了一个带有构建和测试工具的托管注册服务。” 有关文件文档,请参阅Compose 文件版本 3 格式——尽管它被命名为“Compose”,但这是有关 compose 和 swarm/stack 的功能以及如何使用的权威位置。
您可以通过两种方式指定一组 Docker 容器进行配置和部署:
docker-compose up)docker swarm init; docker stack deploy --compose-file docker-stack.yml mystack)两者都采用以 Docker Compose 文件版本 3 格式编写的 YAML 文件。该参考是记录 docker-compose 和 docker swarm/stack 配置的主要来源。
但是,您可以在两个 yml 文件中执行的操作之间存在特定差异——特定选项和特定命名约定:
可用的服务配置选项记录在Compose 文件参考页面上——通常在选项条目的底部有一个注释,将其描述为被docker stack deploy或忽略docker-compose up。
例如,在使用(版本 3)Compose 文件以 swarm 模式部署堆栈时,将忽略以下选项:
build、cap_add、cap_drop、cgroup_parent、container_name、depends_on、devices、external_links、links、network_mode、restart、security_opt、stop_signal、sysctls、tmpfs(版本 3-3.5)、userns_mode
...虽然某些选项被 忽略docker-compose,但可以与 一起使用docker stack deploy,例如:
部署,restart_policy
从命令行运行时,docker stack deploy将打印有关它忽略哪些选项的警告:
忽略不支持的选项:链接
为docker-compose up默认的文件名是docker-compose.yml如果使用没有指定备用文件名-f(参见撰写参考)。通常使用此默认名称并在不带参数的情况下运行命令。
因为docker stack deploy在docker stack deploy 参考中没有给出默认文件。你可以使用任何你想要的名字,但是这里有三个约定:
docker-stack.yml,如官方 Docker for Beginners Ch.3: Deploying an app to a Swarm 中所用。docker-cloud.yml,在Docker Cloud Stack YML 参考中用于 Docker Cloud 服务。docker-compose.yml-- Compose 文件格式的旧默认名称。| 归档时间: |
|
| 查看次数: |
14186 次 |
| 最近记录: |