Using Docker Stack and Compose YAML Files to Deploy Swarm Services
复制并粘贴是一个设计错误。
——大卫·帕纳斯
我在Docker相关讲座和研讨会期间收到的最常见问题一般都与Swarm和Compose有关。
有人问:我该如何在Docker Swarm中使用Docker Compose?
我:不能!你可以把Compose文件转换为支持部分Swarm功能的Bundle。如果想充分利用Swarm,请做好为docker service create命令加上一长串参数的准备。(www.xing528.com)
这样的回答令人失望。Docker Compose向我们展示了在YAML文件中指定所有内容的优势,而不需要试图记住必须传递给docker命令的所有参数。它允许我们将服务定义存储在代码库中,从而提供可重现且记录完备的流程来管理它们。Docker Compose取代了bash脚本,我们也很喜欢它。然后,Docker v1.12出现了,这给我们带来了一个艰难的选择。我们应该采用Swarm并放弃Compose吗?自2016年夏季以来,Swarm和Compose呈现出不同的发展路线,这的确让人有些痛苦。
但是,经过近半年的分离,它们又回到了一起,我们可以见证它们的第二次蜜月。某种意义上,对于Swarm服务,我们不需要Docker Compose二进制文件,但是可以使用它的YAML文件。
Docker Engine v1.13在stack命令中引入了对Compose YAML文件的支持,与此同时,Docker Compose v1.10推出了其格式的新版本3的格式,两者相结合允许我们使用已经熟悉的Docker Compose YAML格式来管理Swarm服务。
我假设你已熟悉Docker Compose,也不会详细介绍它的所有功能,相反,我们将演示一个创建几个Swarm服务的例子。
下面将探讨如何通过Docker Compose文件和docker stack deploy命令创建Docker Flow Proxy(http://proxy.dockerflow.com/)服务。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。