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 ...
随机推荐
- 2021-05-29:最常使用的K个单词II。在实时数据流中找到最常使用的k个单词,实现TopK类中的三个方法: Top
2021-05-29:最常使用的K个单词II.在实时数据流中找到最常使用的k个单词,实现TopK类中的三个方法: TopK(k), 构造方法.add(word),增加一个新单词.topk(),得到当前 ...
- JSPModel
JSPModel what JSP开发模型就是JSP Model,是用JSP语言写的 why 为了更好地使用jsp技术开发 How JSPModel1 Why 因为在jsp开发中,包含了数据处理/业务 ...
- react中useRef的应用
何为useRef useRef是随着react函数式组件发展而来的,是react众多官方hook中的一个,调用useRef可以返回一个伴随这组件整个声明周期不发生改变的对象,这个对象常见的用途有两个: ...
- 《Generative Adversarial Nets》论文精读
论文精读<Generative Adversarial Nets> 导言:生成模型是目前爆火的一个研究方向,据Microsoft对于ChatGPT-4的研究称"ChatGPT-4 ...
- < Python全景系列-9 > Python 装饰器:优雅地增强你的函数和类
欢迎来到我们的系列博客<Python全景系列>第九篇!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法.无论你是编程新手,还 ...
- 1.ruoyi-ui部署
1.ruoyi-ui 部署 A.用 idea 打开 ruoyi-ui 项目后,点击左下角的这个按钮 B.运行 build:prod 后,会在项目文件夹下生成dist文件夹(里面大概有这些文件) C.将 ...
- 使用 ChatGPT 的 7 个技巧 | Prompt Engineering 学习笔记
概述 前段时间在 DeepLearning 学了一门大火的 Prompt 的课程,吴恩达本人授课,讲的通俗易懂,感觉受益匪浅,因此在这里总结分享一下我的学习笔记. 为什么要学习 Prompt ? 因为 ...
- htop 和 bashtop 的一些不足
htop 和 bashtop 都是 Linux 资源监视器中非常好用的工具,尤其对于展示当前 Linux 操作系统的处理器.内存.硬盘.网络和进程等各项资源的使用情况与状态.但它们都有一个问题,就是当 ...
- Proteus运行故障分析(电源、程序等)
问题一.Program file is not specified 原因分析:未加载hex文件. 解决方法:双击芯片,点击Program files,找到hex文件添加进来. 问题二.No power ...
- selenium-wire简介
一.简介 以下来自chatGPT回答: selenium-wire是一个基于selenium的Python库,它扩展了selenium的功能,使得我们可以在自动化测试中直接访问和修改浏览器的网络请求和 ...