docker service 与 docker stack
转载请注明出处:
1. Docker Service
Docker Service(服务)是用于定义和管理单个容器服务的概念。它是在Docker Swarm集群中运行的容器实例,可以使用docker service命令进行操作。
创建服务: 使用
docker service create命令可以创建一个新的服务。例如:
docker service create --name my-service --replicas 3 nginx:latest
上述命令将创建一个名为"my-service"的服务,使用Nginx镜像,并设置副本数量为3。
列出服务: 使用
docker service ls命令可以列出Swarm集群中正在运行的所有服务。该命令返回一个表格,其中包含每个服务的名称、副本数量、所在节点数、状态等详细信息。
docker service ls
示例:

伸缩服务: 使用
docker service scale命令可以调整服务的副本数量。例如:
docker service scale my-service=5
上述命令将将名为"my-service"的服务的副本数量调整为5。
- 更新服务: 使用
docker service update命令可以更新服务的配置、镜像或其他属性。例如:
docker service update --image nginx:1.19 my-service
上述命令将将名为"my-service"的服务的镜像更新为Nginx 1.19版本。
- 删除服务: 使用
docker service rm命令可以停止并删除一个服务。例如:
docker service rm my-service
上述命令将停止并删除名为"my-service"的服务。
2. Docker Stack
Docker Stack(堆栈)是用于定义和管理复杂应用程序的概念。它由多个关联的服务组成,并使用编排文件(如Docker Compose文件)来描述应用程序的整体架构和依赖关系。
使用Docker Stack: 使用Docker Stack来定义和管理整个应用程序的部署。
- 创建Docker Compose文件(
docker-compose.yml):
version: '3'
services:
frontend:
image: my-frontend-image
ports:
- 80:80
replicas: 3
database:
image: my-database-image
replicas: 1
cache:
image: my-cache-image
replicas: 2
- 部署堆栈: 使用
docker stack deploy命令可以根据编排文件部署一个新的堆栈。例如:
docker stack deploy --compose-file docker-compose.yml my-stack
上述命令将使用名为"docker-compose.yml"的编排文件创建一个名为"my-stack"的堆栈,并根据文件中定义的服务进行部署。
列出堆栈: 使用
docker stack ls命令可以列出Swarm集群中正在运行的所有堆栈。该命令返回一个表格,其中包含每个堆栈的名称、已部署的服务数量等详细信息。
docker stack ls
示例

- 列出堆栈的服务: 使用
docker stack services命令可以列出指定堆栈中的所有服务。例如:
docker stack services my-stack
上述命令将列出名为"my-stack"的堆栈中的所有服务。
- 列出堆栈任务: 使用
docker stack ps命令可以列出指定堆栈中所有任务(容器)的状态。例如:
docker stack ps my-stack
上述命令将列出名为"my-stack"的堆栈中的所有任务及其状态。
- 删除堆栈: 使用
docker stack rm命令可以停止并删除一个堆栈及其包含的所有服务。例如:
docker stack rm my-stack
上述命令将停止并删除名为"my-stack"的堆栈和其中的所有服务。
Docker Stack通过编排文件对应用程序进行定义和管理,使得部署复杂的应用程序变得更加方便和可扩展。通过使用Docker Stack,可以一次性部署整个应用程序,并轻松进行更新、伸缩和删除等操作。
3.docker service 与 docker stack 的联系
实际上,Docker Stack是建立在Docker Service之上的一种更高级的抽象。
使用Docker Service时,可以单独管理每个服务,并对其进行伸缩、更新和删除。而使用Docker Stack时,可以将一组相关的服务捆绑在一起,并通过编排文件定义它们之间的关系和依赖性,方便一次性部署和管理整个应用程序。根据您的需求选择合适的工具,单个服务使用Docker Service,复杂应用程序使用Docker Stack。
docker service 与 docker stack的更多相关文章
- docker安装完报错:Failed to start docker.service: Unit docker.service is masked
执行 systemctl start docker 报错 Failed to start docker.service: Unit docker.service is masked. 解决 syste ...
- DOCKER启动失败Job for docker.service failed because the control process exited with error code. See "syste mctl status docker.service" and "journalctl -xe" for details.
[root@localhost ~]# systemctl start docker Job for docker.service failed because the control process ...
- Job for docker.service failed because the control process exited with error code. See
在Liunx中使用Docker, 注: Liunx使用的是在虚拟机下的centOS7版本在刚开始安装Docker时没有任何错误, 但是在后续的docker启动过程中, 出现以下问题: Job for ...
- Docker 三剑客之 Docker Swarm
上一篇:Docker 三剑客之 Docker Compose 阅读目录: Docker Machine 创建 Docker 主机 Docker Swarm 配置集群节点 Docker Service ...
- Docker(一):Docker入门教程
如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...
- Docker系列03—Docker 基础入门
本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...
- Ubuntu下Jenkins(docker)配置Docker远程启动
背景: 在做用Jenkins构建docker的操作,需要用Jenkins调用docker命令,需要先安装docker-build-step插件,然后开启docker远程访问. 默认情况下,Docker ...
- 关于docker安装、docker镜像、docker容器等
1.Ubuntu安装docker sudo apt install docker.io 注意以下命令需在root下进行 sudo -s 2.查看docker当前容器 docker ps -a 3.启动 ...
- learning docker steps(5) ----- docker stack 初次体验
参考:https://docs.docker.com/get-started/part5/ stack 技术栈.技术栈是一组相关的服务,它们共享依赖项并且可以一起进行编排和扩展.单个技术栈能够定义和协 ...
- 37. docker swarm docker service 的更新
在service 运行的情况下 进行更新 1. 创建 名为 demo 的 overlay 网络 docker network create -d overlay demo 2. 创建 python-f ...
随机推荐
- 2022-06-11:注意本文件中,graph不是邻接矩阵的含义,而是一个二部图。 在长度为N的邻接矩阵matrix中,所有的点有N个,matrix[i][j]表示点i到点j的距离或者权重, 而在二部
2022-06-11:注意本文件中,graph不是邻接矩阵的含义,而是一个二部图. 在长度为N的邻接矩阵matrix中,所有的点有N个,matrix[i][j]表示点i到点j的距离或者权重, 而在二部 ...
- 2022-06-01:给定一个数组arr,可能有正、有负、有0,无序。 只能挑选两个数字,想尽量让两个数字加起来的绝对值尽量小。 返回可能的最小的值。
2022-06-01:给定一个数组arr,可能有正.有负.有0,无序. 只能挑选两个数字,想尽量让两个数字加起来的绝对值尽量小. 返回可能的最小的值. 答案2022-06-01: 排序,双指针. 代码 ...
- values() 字典形式显示查询结果
values() 字典形式显示查询结果 name,age为数据库的两个列 Student.objects.values('name','age')
- adb知识
一.原理: adb客户端:能够对adb服务下发指令或命令的工具 server服务端:adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行通信 adb守护进程 : 随 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-2-playwright的API及其他知识
1.简介 上一篇宏哥已经将Python+Playwright的环境搭建好了,而且也简单的演示了一下三款浏览器的启动和关闭,是不是很简单啊.今天主要是把一篇的中的代码进行一次详细的注释,然后说一下pla ...
- 曲线艺术编程 coding curves 第五章 谐波图形(谐振图形) HARMONOGRAPHS
原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二狗(sheldon) blog: http:// ...
- OSPF路由控制
实验拓扑 实验需求 公司A使用OSPF路由协议实现公司设备全网互通,后来公司A扩张兼并了公司B,要求将公司B采用的IS-IS路由协议与公司A的OSPF协议互相引入,使得相应部门可以实现互通. Rout ...
- 我在 vscode 插件里接入了 ChatGPT,解决了代码变量命名的难题
lowcode 插件 已经迭代了差不多3年.作为我的生产力工具,平常一些不需要动脑的搬砖活基本上都是用 lowcode 去完成,比如管理脚手架,生成 CURD 页面,根据接口文档生成 TS 类型,生成 ...
- 效率神器,边看网页边问ChatGPT!神级ChatGPT插件(浏览器扩展)推荐!
如果在看一个网页时,有些词不认识.句子不知道含义,怎么办? 憨憨版:不认识就算了呗,还能咋滴 进阶版:复制到 Google/Baidu 里问一问: AI达人版:复制到 ChatGPT/Claude 里 ...
- 二分查找法upper版(找大于某个值的最小下标)递归+非递归版
需求:比如说查询一个班级大于60分的最低分等等. 思路与二分法基本相同,只不过是对比的逻辑发生了一些小变化,这里所说的上界就是指大于某个值的最小下标. 当mid < target :说明 tar ...