文/Anoyi
前言介绍
stack 是构成特定环境中的 service 集合, 它是自动部署多个相互关联的服务的简便方法,而无需单独定义每个服务。
stack file 是一种 yaml 格式的文件,类似于 docker-compose.yml 文件,它定义了一个或多个服务,并定义了服务的环境变量、部署标签、容器数量以及相关的环境特定配置等。
Stack File 的编写
服务的各种配置已在之前的文章中介绍,只是在书写格式上有所变化,可以对应官方文档列举的 Demo 做参考:
示例:使用 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
作者:Anoyi
链接:https://www.jianshu.com/p/25c529e3a3e6
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦