Docker Swarm - Docker Stack

文/Anoyi

► 前言介绍

stack 是构成特定环境中的 service 集合, 它是自动部署多个相互关联的服务的简便方法,而无需单独定义每个服务。

stack file 是一种 yaml 格式的文件,类似于 docker-compose.yml 文件,它定义了一个或多个服务,并定义了服务的环境变量、部署标签、容器数量以及相关的环境特定配置等。

► Stack File 的编写

服务的各种配置已在之前的文章中介绍,只是在书写格式上有所变化,可以对应官方文档列举的 Demo 做参考:

https://docs.docker.com/compose/compose-file/

示例:使用 Stack 部署 Docker Swarm 入门:Service Network 管理 的应用

version: '3.4'
services:
  mongo:
    image: mongo
    restart: always
    networks: 
      - mongo_network
    deploy:
      restart_policy:
        condition: on-failure
      replicas: 2
  mongo-express: 
    image: mongo-express
    restart: always
    networks: 
      - mongo_network
    ports:
      - target: 8081
        published: 80
        protocol: tcp
        mode: ingress
    environment:
      ME_CONFIG_MONGODB_SERVER: mongo
      ME_CONFIG_MONGODB_PORT: 27017
    deploy:
      restart_policy:
        condition: on-failure
      replicas: 1
networks:
  mongo_network:
    external: true

► 部署 Stack

用法

docker stack deploy [OPTIONS] STACK

参数

简写 参数 默认值 描述
--bundle-file 实验阶段】分布式应用程序包文件的路径
-c --compose-file Stack File 路径
--prune 删除不再被引用的服务
--resolve-image always 查询 Registry 以解决​​镜像摘要和支持的平台(“always”、”changed”、”never”)
--with-registry-auth 向 Swarm 代理发送 Registry 认证详细信息

示例:将上述内容写到文件 stack.yml 中,然后部署

docker stack deploy -c stack anoyi_mongo

► Stack 列表

用法

docker stack ls

► Stack 服务列表

docker stack services [OPTIONS] STACK

► Stack 任务列表

用法

docker stack ps [OPTIONS] STACK

► Stack 删除

用法

docker stack rm STACK [STACK...]

示例:

docker stack rm anoyi_mongo

► 补充案例

Docker Swarm 下搭建 MongoDB 分片+副本+选举集群

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,600评论 19 139
  • 一 、什么是 Docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国...
    Blazzer阅读 8,326评论 0 13
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 12,239评论 0 17
  • 这篇文章讲了Docker-machine,Docker-compose,Docker-swarm的一些基础知识。 ...
    professorLea阅读 7,634评论 0 14
  • 我要喜欢你了 就在此时之季 请许我望着你的遥远的 风草之躯 收下这份柔弱的深喻 还没来得及,为你 添上美至的词语 ...
    花花cq阅读 1,235评论 2 2