转载请注明出处:

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. 2021-07-31:给定数组father,大小为N,表示一共有N个节点,father[i] = j 表示点i的父亲是点j, father表示的树一定是一棵树而不是森林,给定数组values,大小为N

    2021-07-31:给定数组father,大小为N,表示一共有N个节点,father[i] = j 表示点i的父亲是点j, father表示的树一定是一棵树而不是森林,给定数组values,大小为N ...

  2. Prompt工程师指南[应用篇]:Prompt应用、ChatGPT|Midjouney Prompt Engineering

    Prompt工程师指南[应用篇]:Prompt应用.ChatGPT|Midjouney Prompt Engineering 1.ChatGPT Prompt Engineering 主题: 与 Ch ...

  3. vue全家桶进阶之路36:Vue3 全局路由useRouter和本地路由useRoute

    在 Vue.js 3.x 中,我们可以使用 useRouter 和 useRoute 来获取当前路由对象和当前路由信息. useRouter useRouter 可以用来获取当前路由对象.我们可以通过 ...

  4. AcWing 423. 采药

    辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师. 为此,他想拜附近最有威望的医师为师. 医师为了判断他的资质,给他出了一个难题. 医师把他带到一个到处都是草药的山洞里对他说:"孩子 ...

  5. Python潮流周刊#5:并发一百万个任务要用多少内存?

    你好,我是猫哥.这里记录每周值得分享的 Python 及通用技术内容,部分为英文,已在小标题注明.(标题取自其中一则分享,不代表全部内容都是该主题,特此声明.) 博客原文:https://python ...

  6. hosts文件妙用,提升网站访问速度!

    一.背景 在讲解hosts文件之前,我们先了解下IP地址与域名的关系. 1.IP地址与域名的关系 IP(Internet Protocol)是一种规定互联网中数据传输的协议,每台连接到互联网中的计算机 ...

  7. CSI架构和原理

    CSI CSI简介 CSI的诞生背景 K8s 原生支持一些存储类型的 PV,如 iSCSI.NFS.CephFS 等等,这些 in-tree 类型的存储代码放在 Kubernetes 代码仓库中.这里 ...

  8. CANoe_系统变量的创建过程

    在Canoe中创建系统变量,可以用于定义和管理与CAN网络通信相关的参数和配置.遵循以下步骤: 1.打开Canoe 启动Canoe软件. 2.打开项目 在Canoe的菜单栏中,选择"File ...

  9. debug.exe的使用

    debug.exe的使用 debug.exe 是 Windows 操作系统自带的一个命令行调试工具,用于在 DOS 环境下进行汇编语言级别的调试操作.它可以让程序员以来自底层的方式逐步执行代码并检查每 ...

  10. 如何在矩池云上安装和使用 Stata

    Stata是一款功能强大的统计分析软件,本文提供了如何在矩池云安装使用 Stata,以及如何在 Jupyter 中使用 Stata 的简要教程. 安装 Stata 时需要确保按照官方指南进行操作,St ...