docker service 与 docker stack

docker,service,stack · 浏览次数 : 99

小编点评

1. Docker Service - 用于定义和管理单个容器服务的概念 - 使用docker service命令进行操作 2. Docker Stack - 用于定义和管理复杂应用程序的概念 - 由多个关联的服务组成,并使用编排文件来描述应用程序的整体架构和依赖关系 3. docker service 与 docker stack 的联系 - Docker Service是建立在docker stack之上的一种更高级的抽象 - 使用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 service 与 docker stack

转载请注明出处: 1. Docker Service Docker Service(服务)是用于定义和管理单个容器服务的概念。它是在Docker Swarm集群中运行的容器实例,可以使用docker service命令进行操作。 创建服务: 使用docker service create命令可以创建

docker查看日志:docker service logs 与 docker container logs

转载请注明出处: docker service logs 和 docker container logs 是两个不同的命令,用于查看 Docker 服务和容器的日志。以下是它们之间的区别: 1.docker service logs 1.1.特性 适用对象:docker service logs 用

Unraid 使用 Docker Compose 安装 Immich 套件无法启用人脸识别的原因及修复方法

原因 问题原因是官方教程中的 docker-compose.yml 指明的机器学习组件 immich-machine-learning 中的 container_name 也就是 docker-compose.yml 中不同 service 可以互访的媒介 hostname 与 immich-ser

[转帖]docker 开启2375端口,提供外部访问docker

https://www.cnblogs.com/rxysg/p/15816320.html 一、编辑docker文件:/usr/lib/systemd/system/docker.service 命令:vim /usr/lib/systemd/system/docker.service 修改Exec

【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误

{ "code":"DeploymentFailed", "message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usag

【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案

问题描述 创建App Service Container服务,选择从Docker Hub中获取appsmith/appsmith-ce 镜像(https://www.appsmith.com/ & https://hub.docker.com/r/appsmith/appsmith-ce/tags

Nginx使用

docker部署Nginx服务 Nginx服务docker部署时,可以使用一下compose文件进行简单部署: version: '3.7' services: nginx: image: nginx:1.23.3-alpine volumes: - ./default.conf:/etc/ngin

opengrok源代码在线阅读平台搭建及字体修改

服务搭建 我所编写的docker-compose.yml如下,成功运行后将源码目录移动至 /data/opengrok/src ,重启容器使得opengrok快速更新索引 services: opengrok: container_name: opengrok # 1.6版本在使用中还算稳定 ima

微服务实践k8s&dapr开发部署实验(3)订阅发布

自托管模式运行dapr 新建订阅webapi项目,取名为backend 项目增加docker支持,取消https支持 修改Program.cs var builder = WebApplication.CreateBuilder(args); builder.Services.AddControll

kong网关部署

软件版本: Postgresql:9.6 (不使用最新版,是因为 konga 不支持) Kong:3.4.2 konga:0.14.7 (UI管理界面) ### Postgresql部署 ## docker-compose.yml version: '3' services: postgres: i