注意:问题猜测 Docker Cloud 参考是理解堆栈的首选,它很有用,但这不是堆栈与 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 文件参考页面上——通常在选项条目的底部有一个注释,将其描述为 bydocker stack deploy
或 by忽略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
将打印有关忽略哪些选项的警告:
忽略不支持的选项:链接
文件命名