树莓派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
-
将上述的
sentinel-dashboard-1.8.7.jar
,jdk-8u391-linux-aarch64.tar.gz
上传到树莓派 -
通过SSH登录树莓派后,切换到
root
用户(命令:su root
) -
在
root
目录下新建一个文件夹mkdir /root/sentinel_build
,将已上传的文件mv
到📂mkdir sentinel_build
中 -
创建dockerfile📄并给文件授权 :
mkdir dockerfile && chmod +x dockerfile
-
打开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"]
构建 并 生成容器
-
拉取Ubuntu
docker pull ubuntu docker images | grep ubuntu # 检查Ubuntu是否已经被拉入本地(这条命令可忽略不执行)
-
构建镜像
进入到sentinel_build目录下,⚠️ 构建速度不会立刻完成,请耐心等待
# 注意结尾有个点,不然构建失败,我给镜像取名ubuntu_sentinel:1.0,你也可以自定义名称,不过一定要遵循<name>:<tag>的命名规则 docker build -f dockerfile -t ubuntu_sentinel:1.0 . docker images | grep sentinel # 检查sentinel是否已经被构建完毕且在本地(这条命令可忽略不执行)
-
生成容器
docker run -itd --name=sentinel -p 8080:8080 ubuntu_sentinel:1.0 docker ps | grep sentinel# 检查容器是否生成且处于运行状态(这条命令可忽略不执行)
-
到此,sentinel就已经跑在docker上了,用浏览器访问
http://树莓派IP:8080
就可以成功访问到sentinel了,开始你的springcloudAlibaba熔断降级之旅吧