转载请注明出处:

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的更多相关文章

  1. 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 ...

  2. 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 ...

  3. Job for docker.service failed because the control process exited with error code. See

    在Liunx中使用Docker, 注: Liunx使用的是在虚拟机下的centOS7版本在刚开始安装Docker时没有任何错误, 但是在后续的docker启动过程中, 出现以下问题: Job for ...

  4. Docker 三剑客之 Docker Swarm

    上一篇:Docker 三剑客之 Docker Compose 阅读目录: Docker Machine 创建 Docker 主机 Docker Swarm 配置集群节点 Docker Service ...

  5. Docker(一):Docker入门教程

    如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...

  6. Docker系列03—Docker 基础入门

    本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...

  7. Ubuntu下Jenkins(docker)配置Docker远程启动

    背景: 在做用Jenkins构建docker的操作,需要用Jenkins调用docker命令,需要先安装docker-build-step插件,然后开启docker远程访问. 默认情况下,Docker ...

  8. 关于docker安装、docker镜像、docker容器等

    1.Ubuntu安装docker sudo apt install docker.io 注意以下命令需在root下进行 sudo -s 2.查看docker当前容器 docker ps -a 3.启动 ...

  9. learning docker steps(5) ----- docker stack 初次体验

    参考:https://docs.docker.com/get-started/part5/ stack 技术栈.技术栈是一组相关的服务,它们共享依赖项并且可以一起进行编排和扩展.单个技术栈能够定义和协 ...

  10. 37. docker swarm docker service 的更新

    在service 运行的情况下 进行更新 1. 创建 名为 demo 的 overlay 网络 docker network create -d overlay demo 2. 创建 python-f ...

随机推荐

  1. ET框架6.0分析三、网络通信

    概述 ET框架的消息机制贯彻始终,包含Entity消息(Awake,Update ...),自定义(Customer)消息,网络消息等.而ET系统的进程包含了客户端.Gate等各种类型的服务器,进程包 ...

  2. Selenium - 浏览器配置(1) - 忽略证书错误提示

    Selenium - 浏览器配置 忽略证书错误提示 有时候我们访问一些地址,会提示证书私密连接告警信息如下: 如果我们每次要点击高级来忽略私密连接,那就很麻烦: 在谷歌浏览器可以增加忽略证书错误问题, ...

  3. 如何从命令行启动 CST 软件?

    众所周知,CST 一贯以优良的界面友好性而著称,用户可以方便快捷的在其 windows 式的界面下进行建模.仿真及结果查看和处理等操作.然而,在某些特定情况下,也需要 CST 进行后台式的运行,比如需 ...

  4. Cannot read property ‘type‘ of undefined Occurred while linting **\index.jsx:1

    今一个react 中使用mobx 老是提示Cannot read property 'type' of undefined Occurred while linting **\index.jsx:1 ...

  5. NeoVim 学习笔记

    NeoVim 学习笔记 这篇学习笔记将用于记录本人在学习使用 NeoVim 编辑器过程中所编写的学习心得与代码.该笔记将会存放在https://github.com/owlman/study_note ...

  6. 2023-06-03:redis中pipeline有什么好处,为什么要用 pipeline?

    2023-06-03:redis中pipeline有什么好处,为什么要用 pipeline? 答案2023-06-03: Redis客户端执行一条命令通常包括以下四个阶段: 1.发送命令:客户端将要执 ...

  7. 【python基础】函数-值传递

    为了更好的认识函数,我们还要研究值传递问题,再研究这个问题之前,我们已经知道了函数之间的值传递,是实参变量值传递给形参变量,然后让形参变量在函数内完成相应的功能.但是因为数据类型的不同,这里的值传递产 ...

  8. SpringBoot项目启动 报错:Error executing Maven. end tag name </settings> must match start tag name

    SpringBoot项目启动 报错:Error executing Maven. end tag name must match start tag name from line xxx 第一次创建s ...

  9. GPT3:人工智能时代的新型语言模型

    目录 GPT-3:人工智能时代的新型语言模型 随着人工智能技术的不断发展,自然语言处理领域也迎来了新的里程碑.GPT-3 是当前最具代表性的语言模型之一,它具有如下特点: GPT-3 是一种全新的语言 ...

  10. XTTS系列之四:迷迷糊糊的并行度

    项目测试组又反馈一个问题,XTTS执行全量备份速度慢,影响测试进度. 实际算了下,平均速度才150MB/s.. 这个速度在客户生产环境的确是不够看,首先询问是否开了并行,开了多少? 回复是说有开32个 ...