如何管理Docker Swarm服务配置

时间:2018-07-18 09:46:15

标签: docker docker-swarm

当前,当我们更新Docker Swarm服务时,我们仅在每个环境中运行相关命令。因此,例如,如果我们需要将装载添加到外部文件夹,则只需在测试和生产中运行“ docker service --mount-add ...”。

但是,这似乎与以代码为基础的基础架构想法不一致。当前,很难重现任何正在运行的Docker Service,并且我们依靠文档来了解如何配置这些服务。

Docker Swarm中是否有可用的东西来避免此问题?因此,我想在配置文件中指定我的服务配置,并让Docker Swarm根据此配置文件更新配置。因此,在每种环境中使用相同的“ config”文件时,我确定它们都是相同的,并且该文件成为文档。

2 个答案:

答案 0 :(得分:2)

您应该使用Docker Compose files声明群集服务,然后将它们部署到群集中。例如,这是一个简单的Compose文件,该文件将nginx图像作为名为nginx的服务运行

version: '3.6' services: nginx: image: nginx:stable-alpine ports: - 80:80

然后,您使用docker stack deploy将该Compose文件以及其中定义的所有服务和其他资源作为堆栈进行部署。

docker stack deploy --compose-file the-compose-file.yml demo

当您有服务的更新时,请更改Compose文件,然后使用相同的堆栈名称空间(在上例中为demo)再次部署它。 Docker将更新以前部署的服务。

答案 1 :(得分:1)

docker-compose版本3是Docker Swarm的配置文件。

采取look