docker stack使用

【docker】Docker Stack 详细使用及注意事项 Docker Stack 是 Docker Swarm 环境中用于管理一组相关服务的工具。它使得在 Swarm 集群中部署、管理和扩展一组相互关联的服务变得简单。主要用于定义和编排容器化应用的多个服务。Docker Stack 是 Docker Swarm 中的一个高级特性,用于在集群环境中管理复杂的多服务应用。它基于 Docker Compose 文件格式,但扩展了这种格式的功能,以适应集群和大规模部署的需求。 阅读详情

1.docker stack解决什么问题?

在前面的文章中,我们介绍Docker Compose,缺点是不能在分布式多机器上使用;我们还介绍了Docker swarm,缺点是不能同时编排多个服务,所以才有了Docker Stack,可以在分布式多机器上同时编排多个服务。
docker stack 相当于 docker-compose和docker swarm相结合,容器编排集群部署

2.使用方法

1.先创建两个简单springboot项目(java计数器) test1和test2,分别创建对应的Dockerfile文件

test1

@RestController
public class HelloController {

    @Autowired
    private StringRedisTemplate redisTemplate;


    @GetMapping("/test1")
    public String hello1() {
        Long views = redisTemplate.opsForValue().increment("views");
        return "test1 当前访问次数: " + views;
    }

}

test1的Dockerfile

#基础镜像
FROM java:8

#将所有jar包拷贝到/app.jar
COPY ./target/*.jar /app.jar

#暴露端口
EXPOSE 9090

#执行运行jar包命令
CMD ["java","-jar", "/app.jar"]

test2

@RestController
public class HelloController {

    @Autowired
    StringRedisTemplate redisTemplate;

    @GetMapping("test2")
    public String hello() {
        Long views = redisTemplate.opsForValue().increment("views");
        return "test2 当前访问次数 :" + views;
    }
}

test2的Dockerfile

#基础镜像
FROM java:8

#将所有jar包拷贝到/app.jar
COPY ./target/*.jar /app.jar

#暴露端口
EXPOSE 9091

#执行运行jar包命令
CMD ["java","-jar", "/app.jar"]

2.将Dockerfile打成镜像上传到dockerhub上,这里以test1为例

docker build -t test:1.0 .
docker tag test:1.0 crazypeople/test:1.0
docker login    
docker push crazypeople/test:1.0

3.编写docker-compose.yml文件 ,并上传到服务器上面

version: "3.8"

services:
  counter_web1:
  #这里要写刚刚上传到dockerhub上的镜像
    image: crazypeople/test1:1.0
    container_name: counter_web1
    deploy:
      replicas: 4
    depends_on:
      - redis-test
    ports:
       - "9090:9090"
  counter_web2:
    image: crazypeople/test2:1.0
    container_name: counter_web2
    deploy:
      replicas: 4
    depends_on:
      - redis-test
    ports:
      - "9091:9091"
  redis-test:
    container_name: redis_test
    image: redis:6.0-alpine

4.创建swarm集群 如何创建swarm集群

5.使用docker stack deploy 部署

docker stack deploy my-test --compose-file=docker-compose.yml路径

6.使用命令查看

docker stack services stack名   查看该stack中有多少个服务

在这里插入图片描述

docker stack ps stack名. 查看该stack中所有任务信息

在这里插入图片描述

7.移除stack

docker stack rm stack名
Docker Stack(堆栈) 部署多服务集群,多服务编排 Docker Stack(堆栈) 是在 Swarm 上管理服务堆栈的工具。而在以前文章介绍的 Docker Swarm 只能实现对单个服务的简单部署,于是就引出了Docker Stack。上面我们介绍到那Docker Stack(堆栈) 是将docker-compose和docker swarm结合起来,在多台服务器集群,部署多个服务。Docker Stack 使用与 Docker Compose 相同的 YAML 文件格式来定义服务堆栈。 阅读详情

相关推荐

docker stack常用命令

Docker Stack管理swarm堆栈与Swarm协调器配合使用,是Docker Swarm环境中用于管理一组相关服务的工具。它使得在Swarm集群中部署、管理和扩展一组相互关联的服务变得简单。主要用于定义和编排容器化应用的多个服务。

beck_li的博客 1544

容器技术—docker stack

在之前的几篇文章中,我们介绍了Docker Compose,它是用来进行一个完整的应用程序相互依赖的多个容器的编排的,但是缺点是不能在分布式多机器上使用;我们也介绍了Docker swarm,它构建了docker集群,并且可以通过docker service在不同集群节点上运行容器服务,但是缺点是不能同时编排多个服务。但是在实际的生产开发中,我们一个完整的应用需要的服务往往不止一个,通过docker service 命令来部署的话会很麻烦,所以这里要讲一下 Docker Stack,它用于向swarm集群部

weixin_37648525的博客 9950

Docker学习(六):Docker Compose和Docker Stack区别

作者:water_lang 链接:https://www.jianshu.com/p/05be80475bff 在最近的发布版本中,Docker圈发生了一些事情。 Swarm模式已经在1.12中集成到Docker Engine中,并给我们带来了几个新工具。 其中,我们可以在不安装Docker Compose的情况下,可以使用docker-compose.yml文件来提供堆栈的Docker容器。 ...

技术宅拯救世界 5676

Docker Stack部署应用详解+Tomcat项目部署详细实战

Docker Stack部署应用详解,Tomcat+Mysql项目详解部署过程

m0_58833554的博客 1345

使用 Docker Swarm(集群) 和Docker Stack(堆栈)部署容器化应用

Docker Stack(堆栈) 是在 Swarm 上管理服务堆栈的工具。而在上面文章 中介绍的 Docker Swarm 只能实现对单个服务的简单部署,于是就引出了Docker Stack。上面我们介绍到docker-compose:可以在一台机器上使用docker-compose.yml轻松部署多个服务(如nginx,php,mysql)docker swarm:将一个服务部署至多台机器(如nginx,部署到机器1,机器2,机器3)

4842

docker stack 部署集群

Docker stack 部署 Docker stack 和 docker-compose区别: Docker stack不支持build docker-compose支持 docker-compose 需要单独安装而Docker stack 是swarm mode的集成 docker service rm web_cluster 删除之前的服务 docker-compose.yml ...

fangyuan1997的博客 945

【Docker】docker compose 安装 Redis Stack

这篇文章介绍如何使用 docker compose 安装 redis stack。Redis Stack 是增强版的 Redis ,它在传统的 Redis 数据库基础上增加了一些高级功能和模块以支持更多的使用场景和需求。比如现在火热的AI,Redis 可以作为向量库来使用,通过 RediSearch 来进行相似性查找。

herogus的博客 4233

六、Docker Swarm、Docker Stack和Portainer的使用

六、Docker Swarm、Docker Stack和Portainer的使用

funfan的博客 2243

Docker Stack简介及使用

Docker Compose的缺点是不能在分布式多服务器上使用,Docker swarm的缺点是不能同时编排多个服务,所以才有了Docker Stack,可以在分布式多服务器上同时编排多个服务。

LKIDTI数据的博客 841

Spring Cloud Gateway 结合OAuth2提供UAA服务

微服务做用户认证和授权一直都是一个难点,随着OAuth2.0的密码模式被作废,更是难上加难了。今天胖哥群里的一个群友搭建用户认证授权体系的时候遇到了一些棘手的问题,这让胖哥觉得是时候分享一些思路出来了。 两种思路 通常微服务的认证和授权思路有两种: 所有的认证授权都由一个独立的用户认证授权服务器负责,它只负责发放Token,然后网关只负责转发请求到各个微服务模块,由微服务各个模块自行对Token进行校验处理。 另一种是网关不但承担了流量转发作用,还承担认证授权流程,当前请求的认证信息由网关中继给下游

duan18888的博客 648

RandLA-Net复现SemanticKITTI和S3DIS数据集

RandLA-Net复现KITTI和室内数据集

weixin_48845174的博客 4106

30、Docker Stack

Stack 能够在单个声明文件中定义复杂的多服务应用。Stack 还提供了简单的方式来部署应用并管理其完整的生命周期:初始化部署 -> 健康检查 -> 扩容 -> 更新 -> 回滚,以及其他功能!在 Compose 文件中定义应用,然后通过 docker stack deploy 命令完成部署和管理。Stack 是基于 Docker Swarm 之上来完成应用的部署。安全等高级特性,其实都是来自 Swarm。Docker 适用于开发和测试。Docker Stack 则适用于大规模场景和生产环境。

乄辰__qq__2791629529 的博客 1569

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO

激光SLAM总结——Fast LIO / Fast LIO2 / Faster LIO 在之前的工作中有接触过LOAM,最近在工作中又接触到Faster LIO相关的工作,于是想着对Fast LIO / Fast LIO2 / Faster LIO这一系列工作进行一个简单的总结,以加深自己对激光SLAM算法的理解,之前总结过的一些和激光SLAM算法相关的博客还有,感兴趣的同学可以一起学习讨论: 激光SLAM总结——VLOAM / LIMO算法解析 激光SLAM总结——LIO-Mapping / LIOM /

weixin_44580210的博客 1万+

docker stack相关命令

部署项目命令 docker stack -c docker-compose.yml 服务名称 显示stack列表 命令:docker stack ls 可以看到名称叫ormis-service的stack中存在3个服务 列出stack中的任务 命令:docker stack ps stack名称 通过这个命令我们可以看到在ormis-service这个stack下面的具体信息,比如总共存在5个任务,这5个任务分别在哪一台服务器节点上运行,以及这5个任务服务的运行状态。 列出我们stack中创

花&败 1822

自动驾驶轨迹规划算法——Apollo EM Planner

Apollo EM Planner 是百度自动驾驶系统中的轨迹规划算法,采用期望-最大化(EM)迭代优化思想。其核心是将轨迹规划分解为路径优化(E-Step)和速度优化(M-Step)两个子问题,在Frenet坐标系下交替求解。算法先通过动态规划(DP)搜索粗路径,再使用二次规划(QP)进行平滑优化,并结合障碍物信息生成安全走廊。相较Lattice、Hybrid A*等规划器,EM Planner具有更好的实时性、动态障碍物处理能力和轨迹平滑性,适用于城市道路、高速公路等复杂场景。该算法通过解耦路径与速度优

swaggytiger的博客 2664

iStoreOS路由器(openwrt软路由) AdGuard Home 客户端 IP 总是 localhost(127.0.0.1)?这样设置让你精准识别真实IP!

在iStoreOS等软路由上部署AdGuard Home时,客户端IP常显示为localhost(127.0.0.1)。本文详细介绍如何让adguardhome直接识别客户端真实IP🌐,帮助你实现网络流量的精准追踪和管理。🔍

XiaoqiangClub的博客 2247

Docker Stack管理应用

Stack 是一组相关联的服务和基础设施,需要进行统一的部署和管理。虽然这句话里充斥着术语,但仍提醒我们 Stack 是由普通的 Docker 资源构建而来:网络、卷、密钥、服务等。 这意味着可以通过普通的 Docker 命令对其进行查看和重新配置,例如 docker network、docker volume、docker secret、docker service 等。 在此前提之下,通过 docker service 命令来管理 Stack 中某个服务是可行的。一个简单的例子是通过 docker se

ywtech的博客 658

推荐系统[八]算法实践总结V3:重排在快手短视频推荐系统中的应用and手淘信息流多兴趣多目标重排技术

快手推荐系统包括了传统的召回、粗排、精排、Learning To Rank 的多目标排序、多目标预估等技术环节。而在这些模块之后的技术环节就属于重排序,主要包括手机端和服务端两部分。服务端通过传统服务器部署重排服务,包括序列重排、多源内容混排、多样性模块。端上部分包括端上重排模型和端上重排策略两部分。重排技术是快手十分重要的技术环节,它的发展速度远快于其他排序环节,属于较新的技术范畴。整个序列的价值并非单 item 效果的累计,如何使得序列价值最大化;

丨汀、的博客 1061

使用Docker配置Redis Stack集群的步骤

【代码】使用Docker配置Redis Stack集群的步骤。

weixin_44858074的博客 1220

TC3XX - MCAL知识点(十一):WDG EB-tresos配置说明与代码浅析

在AUTOSAR中,看门狗栈实现了三种监控机制:实时监控:用于周期软件的定时监控期限监督:针对非周期软件逻辑监督:用于监督执行顺序的正确性看门狗(WDG)驱动实现AUTOSAR(4.2.2)中规定的看门狗SWS,提供初始化、改变操作模式和设置触发条件(超时)等服务,供看门狗硬件(WDT)用户使用。WDG驱动的用户包括:模式管理模块(用于初始化),WdgM通过Wdglf设置触发条件和驱动运行模式设置。WdgM实施上述监督机制。AUTOSAR扩展触发概念,以支持窗口看门狗模式。

梦想技术家 3599

基于STM32+RFID设计的宿舍检修管理系统

设计一个上位机,用来管理查看维修检修信息,当维修寝室的设备或者检修完成时,通过STM32上的RC522刷一下这个寝室的IC卡,识别这是哪个寝室,识别成功后在软件上弹出一个对话框,填写本次维修或者检修的事件,填写完毕点击提交即可。...

2555

Docker Stack 学习笔记

一、简介 Docker Stack 是为了解决大规模场景下的多服务部署和管理,提供了期望状态,滚动升级,简单易用,扩缩容,健康检查等特性,并且都封装在一个声明式模型当中。 Docker Stack 部署应用的生命周期:初始化部署 > 健康检查 > 扩容 > 更新 > 回滚。 使用单一声明式文件即可完成部署,即只需要docker-stack.yml文件,使用docker stack deploy命令即可完成部署。 stack 文件其实就是 Docker compose 文件,唯

GSON的博客 1627

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【智能体学习笔记】Docker安装使用redis-stack

这份文档是一份从 Docker 环境准备、Python 依赖安装,到 Redis Stack 容器部署、功能验证的完整实操指南,帮助用户快速搭建适配大模型开发的 Redis 环境,解决了部署过程中的常见网络问题,确保环境可直接用于 LangChain 等大模型开发。

2403_88992060的博客 1296

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Docker Swarm、Docker Stack和Portainer的使用

Docker Swarm 是 Docker 的原生集群管理和编排工具,允许您将多个 Docker 主机组合成一个虚拟的 Docker 主机来管理和部署容器。Docker Stack 用于在 Swarm 集群上管理多容器应用。它基于 Compose 文件定义应用,并支持复杂的多服务部署。Portainer 是一个轻量级的 Docker 管理 UI,支持 Docker 和 Docker Swarm。它提供了直观的界面来管理容器、镜像、网络和卷。

kaikaile1995的博客 537
上一篇: docker swarm
下一篇: m1芯片使用sass版本问题
livel_java
博客等级 码龄9年 2916粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值