【问题标题】:How to manage Docker Swarm service configuration如何管理 Docker Swarm 服务配置
【发布时间】:2018-07-28 01:37:20
【问题描述】:

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

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

在 Docker Swarm 中有什么东西可以避免这个问题吗?所以我想在一个配置文件中指定我的服务配置,并让 Docker Swarm 根据这​​个配置文件更新配置。因此,当在每个环境中使用相同的“配置”文件时,我确信它们都是相同的,并且该文件成为文档。

【问题讨论】:

    标签: docker docker-swarm


    【解决方案1】:

    您应该使用Docker Compose files 声明您的 swarm 服务,然后将它们部署到您的 swarm。例如,这是一个简单的 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 会更新之前部署的服务。

    【讨论】:

      【解决方案2】:

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

      参加look

      【讨论】:

        猜你喜欢
        • 2017-11-05
        • 1970-01-01
        • 1970-01-01
        • 2022-06-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-26
        相关资源
        最近更新 更多