Docker Stack简介及使用

Docker Stack简介及使用

1.简介

Docker Compose的缺点是不能在分布式多服务器上使用,Docker swarm的缺点是不能同时编排多个服务,所以才有了Docker Stack,可以在分布式多服务器上同时编排多个服务。

2.使用实例

1.准备docker-compose文件

本地准备两个镜像后,编写compose文件/root/docker-compose.yml:

python 复制代码
version: "3.9"
services:
  service1:
    image: "masonzhang/service1:V1"
    deploy:
        replicas: 2
    ports:
      - "8080:8080"

  service2:
    image: "masonzhang/service2:V1"
    deploy:
        replicas: 3
    ports:
      - "8081:8081"

2.swarm集群搭建

可参考:docker swarm安装使用

3.stack部署

python 复制代码
$ docker stack deploy myapps --compose-file=/root/docker-compose.yml

4.stack其他操作

查看所有stack的信息

python 复制代码
$ docker stack ls

NAME      SERVICES   ORCHESTRATOR
myapps    2          Swarm

查看某个stack中的所有任务信息

python 复制代码
$ docker stack ps myapps

ID             NAME                IMAGE                    NODE      DESIRED STATE   CURRENT STATE
tvvujrf3qcr1   myapps_service1.1   masonzhang/service1:V1   node1     Running         Running 46 seconds ago       
igjeydmmvzzm   myapps_service1.2   masonzhang/service1:V1   manager   Running         Running 46 seconds ago       
7p5c96eplwl3   myapps_service2.1   masonzhang/service2:V1   node1     Running         Running 34 seconds ago       
7shglsajip5d   myapps_service2.2   masonzhang/service2:V1   manager   Running         Running 39 seconds ago       
upo0mr7j9tn1   myapps_service2.3   masonzhang/service2:V1   node2     Running         Preparing 41 seconds ago  

查看某个stack中的所有服务信息

python 复制代码
$ docker stack services myapps

ID             NAME              MODE         REPLICAS   IMAGE                    PORTS
icz3kjn0skb3   myapps_service1   replicated   2/2        masonzhang/service1:V1   *:8080->8080/tcp
myuzlwnrxag4   myapps_service2   replicated   3/3        masonzhang/service2:V1   *:8081->8081/tcp

移除stack

python 复制代码
docker stack rm myapps
相关推荐
未来之窗软件服务几秒前
幽冥大陆(四十五)人工智能自动化交互系统ASR——东方仙盟筑基期
运维·自动化·asr·仙盟创梦ide·东方仙盟·东方仙盟sdk·东方仙盟自动化
小婷要努力6 分钟前
Linux常用命令速查表
linux·运维·服务器
爱宇阳6 分钟前
Jenkins 多语言 Agent 完整部署教程
运维·servlet·jenkins
微风◝10 分钟前
AlmaLinux9-网络管理篇-更改网络接口名称
linux·运维·网络
tianyuanwo11 分钟前
Ansible构建节点管理:Koji与Mock构建节点的自动化运维实践
运维·自动化·ansible
怀旧,16 分钟前
【Linux系统编程】10. 进程控制(下)
linux·运维·服务器
Evan芙20 分钟前
DNS域名三级结构,DNS服务工作原理,涉及递归和迭代查询原理总结
linux·运维·服务器
CIb0la29 分钟前
Microsoft Excel 已经40岁了
运维·智能手机·生活
apihz33 分钟前
随机英文姓名生成API接口详细教程:免费、简单、高效
android·java·运维·服务器·开发语言
听风吟丶38 分钟前
云原生智能告警与故障自愈实战:从被动响应到主动运维
运维·云原生