当前位置: 首页 > news >正文

树莓派4B(Raspberry Pi 4B)使用docker搭建阿里巴巴sentinel服务

树莓派4B(Raspberry Pi 4B)使用docker搭建阿里巴巴sentinel服务

由于国内访问不了docker hub,而国内镜像仓库又没有适配树莓派ARM架构的sentinel镜像,所以我们只能退而求其次——自己动手构建镜像。本文基于Ubuntu,Java8,sentinel-dashboard-1.8.7讲解

准备工作

下载sentinel-dashboard-1.8.7.jar

到GitHub(Releases · alibaba/Sentinel (github.com))下载

下载jdk-8u391-linux-aarch64.tar.gz

到oracle(Java Downloads | Oracle 中国)下载

Tips:如果你所处的国内互联网无法访问到以上网址,如不嫌弃请使用我分享的百度云盘下载它们(链接:https://pan.baidu.com/s/1n4WjOslFL-JBG2tq-7Fd1g?pwd=a3i2
提取码:a3i2)

dockerfile也在里面☝️

编写dockerfile

  1. 将上述的 sentinel-dashboard-1.8.7.jar , jdk-8u391-linux-aarch64.tar.gz 上传到树莓派

  2. 通过SSH登录树莓派后,切换到root用户(命令:su root

  3. root目录下新建一个文件夹 mkdir /root/sentinel_build,将已上传的文件 mv 到📂 mkdir sentinel_build

  4. 创建dockerfile📄并给文件授权mkdir dockerfile && chmod +x dockerfile

  5. 打开dockerfile📄文件(vim /root/sentinel_build/dockerfile),将下述代码写入

    💁 我用的SSH连接工具是MobaXterm_Personal_20.2 ,个人版免费使用,功能足够满足日常开发了。

    FROM	ubuntu
    WORKDIR	/usr/local
    USER	root
    RUN apt-get update
    RUN apt-get install -y vim
    # 创建一个文件夹用于放java JDK
    RUN mkdir /usr/local/java
    # JAVA 环境变量配置
    ENV	JAVA_HOME /usr/local/java/jdk1.8.0_391
    ENV	JRE_HOME ${JAVA_HOME}/jre
    ENV	CLASSPATH .:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib:${JRE_HOME}/lib
    ENV	PATH ${JAVA_HOME}/bin:${PATH}
    # 拷入包
    ADD ./jdk-8u391-linux-aarch64.tar.gz /usr/local/java
    COPY  ./sentinel-dashboard-1.8.7.jar /usr/local
    # 对外暴露端口
    EXPOSE 8080
    EXPOSE 8848
    EXPOSE 8719
    # 运行sentinel
    CMD [ "-jar","/usr/local/sentinel-dashboard-1.8.7.jar"]
    ENTRYPOINT ["java"]
    

构建 并 生成容器

  1. 拉取Ubuntu

    docker pull ubuntu
    docker images | grep ubuntu # 检查Ubuntu是否已经被拉入本地(这条命令可忽略不执行)
    
  2. 构建镜像

    进入到sentinel_build目录下,⚠️ 构建速度不会立刻完成,请耐心等待

    # 注意结尾有个点,不然构建失败,我给镜像取名ubuntu_sentinel:1.0,你也可以自定义名称,不过一定要遵循<name>:<tag>的命名规则
    docker build -f dockerfile -t ubuntu_sentinel:1.0 . 
    docker images | grep sentinel # 检查sentinel是否已经被构建完毕且在本地(这条命令可忽略不执行)
    
  3. 生成容器

    docker run -itd --name=sentinel -p 8080:8080 ubuntu_sentinel:1.0
    docker ps | grep sentinel# 检查容器是否生成且处于运行状态(这条命令可忽略不执行)
    
  4. 到此,sentinel就已经跑在docker上了,用浏览器访问 http://树莓派IP:8080 就可以成功访问到sentinel了,开始你的springcloudAlibaba熔断降级之旅吧

相关文章:

树莓派4B(Raspberry Pi 4B)使用docker搭建阿里巴巴sentinel服务

树莓派4B&#xff08;Raspberry Pi 4B&#xff09;使用docker搭建阿里巴巴sentinel服务 由于国内访问不了docker hub&#xff0c;而国内镜像仓库又没有适配树莓派ARM架构的sentinel镜像&#xff0c;所以我们只能退而求其次——自己动手构建镜像。本文基于Ubuntu&#xff0c;Jav…...

Django视图

HttpRequests对象 利用http协议向服务器传参的4种途径 提取url特定部分&#xff0c;如/web/index/&#xff0c;可以通过在服务器端的路由中用正则表达式截取查询字符串&#xff0c;形如?key1value&keyvalue2&#xff0c;&#xff08;&#xff1f;前面是路由&#xff0c;…...

python基本语法

变量无需声明 Python 中的变量不需要声明。每个变量在使用前都必须赋值&#xff0c;变量赋值以后该变量才会被创建。 在 Python 中&#xff0c;变量就是变量&#xff0c;它没有类型&#xff0c;我们所说的"类型"是变量所指的内存中对象的类型。 len800 #整型变…...

app逆向-⽹络请求库rxjava2

文章目录 一、前言二、安装三、GET请求实现四、POST请求实现 一、前言 RxJava 2 是一个流行的 Java 库&#xff0c;用于使用可观察序列组合异步和基于事件的程序。它是原始 RxJava 库的重新实现&#xff0c;旨在更高效并且更适合于 Java 8 及更高版本。 RxJava 2 的主要特性包…...

Spring Boot 笔记 007 创建接口_登录

1.1 登录接口需求 1.2 JWT令牌 1.2.1 JWT原理 1.2.2 引入JWT坐标 1.2.3 单元测试 1.2.3.1 引入springboot单元测试坐标 1.2.3.2 在单元测试文件夹中创建测试类 1.2.3.3 运行测试类中的生成和解析方法 package com.geji;import com.auth0.jwt.JWT; import com.auth0.jwt.JWTV…...

java数据结构与算法刷题-----LeetCode594. 最长和谐子序列

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 解题思路 子序列要尽可能长&#xff0c;并且最大值和最小值之间的差&#…...

数据分析基础之《pandas(6)—高级处理》

一、缺失值处理 1、如何处理nan 两种思路&#xff1a; &#xff08;1&#xff09;如果样本量很大&#xff0c;可以删除含有缺失值的样本 &#xff08;2&#xff09;如果要珍惜每一个样本&#xff0c;可以替换/插补&#xff08;计算平均值或中位数&#xff09; 2、判断数据是否…...

IOS破解软件安装教程

对于很多iOS用户而言&#xff0c;获取软件的途径显得较为单一&#xff0c;必须通过App Store进行下载安装。 这样的限制&#xff0c;时常让人羡慕安卓系统那些自由下载各类版本软件的便捷。 心中不禁生出疑问&#xff1a;难道iOS世界里&#xff0c;就不存在所谓的“破解版”软件…...

[缓存] - 1.缓存共性问题

1. 缓存的作用 为什么需要缓存呢&#xff1f;缓存主要解决两个问题&#xff0c;一个是提高应用程序的性能&#xff0c;降低请求响应的延时&#xff1b;一个是提高应用程序的并发性。 1.1 高并发 一般来说&#xff0c; 如果 10Wqps&#xff0c;或者20Wqps &#xff0c;可使用分布…...

Python爬虫——解析库安装(1)

目录 1.lxml安装2.Beautiful Soup安装3.pyquery 的安装 我创建了一个社区&#xff0c;欢迎大家一起学习交流。社区名称&#xff1a;Spider学习交流 注&#xff1a;该系列教程已经默认用户安装了Pycharm和Anaconda&#xff0c;未安装的可以参考我之前的博客有将如何安装。同时默…...

中科大计网学习记录笔记(十一):CDN

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…...

[缓存] - 2.分布式缓存重磅中间件 Redis

1. 高性能 尽量使用短key 不要存过大的数据 避免使用keys *&#xff1a;使用SCAN,来代替 在存到Redis之前压缩数据 设置 key 有效期 选择回收策略(maxmemory-policy) 减少不必要的连接 限制redis的内存大小&#xff08;防止swap&#xff0c;OOM&#xff09; slowLog …...

1191. 家谱树(拓扑排序,模板题)

活动 - AcWing 有个人的家族很大&#xff0c;辈分关系很混乱&#xff0c;请你帮整理一下这种关系。 给出每个人的孩子的信息。 输出一个序列&#xff0c;使得每个人的孩子都比那个人后列出。 输入格式 第 11 行一个整数 n&#xff0c;表示家族的人数&#xff1b; 接下来 …...

CSS之BFC

BFC概念 BFC&#xff08;Block Formatting Context&#xff09;即块级格式化上下文&#xff0c;是Web页面的可视CSS渲染的一部分。它是一个独立的渲染区域&#xff0c;让其中的元素在布局上与外部的元素互不影响。简单来说&#xff0c;BFC提供了一个环境&#xff0c;允许内部的…...

2024 年合并 PDF 文件的免费 PDF 合并软件榜单

合并 PDF 是当今人们寻找的最重要的功能之一。在本文中&#xff0c;您将了解前五名的 PDF 合并软件以及详细的介绍&#xff0c;以便您选择最佳的。如果您想将所有重要信息都放在一个文件中&#xff0c;而不是在不同的文件中查找&#xff0c;那么合并 PDF 文件是必要的。通过这种…...

Python教程56:海龟画图turtle画kitty猫

---------------turtle源码集合--------------- Python教程91&#xff1a;关于海龟画图&#xff0c;Turtle模块需要学习的知识点 Python教程51&#xff1a;海龟画图turtle画&#xff08;三角形、正方形、五边形、六边形、圆、同心圆、边切圆&#xff0c;五角星&#xff0c;椭…...

c入门第十篇——指针入门

一句话来说: 指针就是存储了内存地址值的变量。 在前面讨论传值和传址的时候&#xff0c;我们就已经开始使用了指针来传递地址。 在正式介绍指针之前&#xff0c;我们先来简单了解一下内存。内存可以简单的理解为一排连续的房子的街道&#xff0c;每个房子都有自己的地址&#…...

pwn学习笔记(3)ret2syscall

pwn学习笔记&#xff08;3&#xff09; ROP原理&#xff1a; ​ ROP(Return Oriented Programming)返回导向编程&#xff0c;主要思想是通过在程序中已有的小片段&#xff08;gadgets&#xff09;来改变某些寄存器或者变量的值&#xff0c;从而控制程序的执行流程。 栈溢出–…...

React18原理: 生命周期中特别注意事项

概述 生命周期就是一个组件从诞生到销毁的全过程(包含错误捕获&#xff0c;这里暂且不聊这个)react 在组件的生命周期中注册了一系列的钩子函数支持开发者在其中嵌入代码&#xff0c;并在适当的时机运行生命周期本质上就是组件中的钩子函数&#xff0c;主要有三个主要的钩子 挂…...

【C语言】Linux内核bind系统调用代码

一、Linux 4.9内核bind系统调用代码注释 int __sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen) {struct socket *sock; // 定义socket对象的指针struct sockaddr_storage address; // 用于存储从用户空间复制过来的地址int err…...

【开题答辩全过程】以 基于Java的影视设备维修评估系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

跨平台游戏画质增强工具:OptiScaler打破显卡壁垒的全方位解决方案

跨平台游戏画质增强工具&#xff1a;OptiScaler打破显卡壁垒的全方位解决方案 【免费下载链接】OptiScaler DLSS replacement for AMD/Intel/Nvidia cards with multiple upscalers (XeSS/FSR2/DLSS) 项目地址: https://gitcode.com/GitHub_Trending/op/OptiScaler 在PC…...

AudioSeal Pixel Studio实战教程:与LangChain音频处理Agent集成

AudioSeal Pixel Studio实战教程&#xff1a;与LangChain音频处理Agent集成 1. 工具介绍与核心价值 AudioSeal Pixel Studio是一款基于Meta开源的AudioSeal算法构建的专业音频水印工具。它能够在保持原始音质几乎不变的情况下&#xff0c;为音频文件嵌入隐形数字水印&#xf…...

电机控制进阶:从增量式与位置式PID到现代复合控制策略

1. PID控制的前世今生&#xff1a;从工业革命到智能时代 第一次接触PID控制器时&#xff0c;我被这个诞生于上世纪30年代的"古董级"算法震惊了。当时正在调试一台伺服电机&#xff0c;系统总是出现超调和振荡。导师递给我一张写着三个参数的纸条&#xff1a;"试…...

031. 从零到一:打造你的专属“王思鱼指纹浏览器”实战指南

1. 什么是“王思鱼指纹浏览器”&#xff1f; 最近在帮朋友做社交媒体运营时&#xff0c;发现一个头疼的问题&#xff1a;同一个IP登录多个账号容易被平台识别关联。试过各种方法都不太理想&#xff0c;直到发现了这个叫“王思鱼指纹浏览器”的神器。简单来说&#xff0c;它就是…...

逐行Hybrid A*路径规划与混合A星泊车路径规划的源码分析(MATLAB版)

逐行hybrid astar路径规划 混合a星泊车路径规划 带你从头开始写hybridastar算法&#xff0c;逐行源码分析matlab版hybridastar算法咱们今天唠唠混合A星&#xff08;Hybrid A*&#xff09;路径规划&#xff0c;这玩意儿在自动泊车场景用得贼溜。和传统A星最大的区别在于它能处理…...

3分钟快速上手ComfyUI:零基础掌握节点式AI绘图终极指南

3分钟快速上手ComfyUI&#xff1a;零基础掌握节点式AI绘图终极指南 【免费下载链接】ComfyUI 最强大且模块化的具有图形/节点界面的稳定扩散GUI。 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI 你是否曾幻想过&#xff0c;如果AI绘图能像搭积木一样直观灵…...

SLAM算法评测神器evo:从安装到实战的完整避坑指南

SLAM算法评测神器evo&#xff1a;从安装到实战的完整避坑指南 在机器人定位与建图&#xff08;SLAM&#xff09;领域&#xff0c;算法性能评测是验证研究成果可靠性的关键环节。而evo作为一款轻量级、模块化的评测工具&#xff0c;凭借其强大的可视化能力和丰富的指标计算功能…...

手把手调试:如何用Windbg或Linux下工具查看并修改PCIe设备的BAR寄存器?

实战指南&#xff1a;Windows与Linux下PCIe设备BAR寄存器调试全流程 当一块PCIe网卡突然无法被系统识别&#xff0c;或者GPU设备在资源分配时发生冲突&#xff0c;作为驱动工程师的你该如何快速定位问题&#xff1f;本文将带你深入PCIe设备的底层世界&#xff0c;从BDF寻址到B…...

背单词花园:把单词种进长期记忆,告别背了就忘

为什么背单词花园抗遗忘效果出众&#xff1f;因为它把艾宾浩斯遗忘曲线&#xff0c;变成了看得见、好坚持的种花流程。一、新学单词 收获种子&#xff0c;记忆从第一步就扎根每次领取种子&#xff0c;就是开启一次新单词学习。用趣味场景完成初次编码&#xff0c;让单词不再是…...