由于国内访问不了docker hub,而国内镜像仓库又没有适配树莓派ARM架构的sentinel镜像,所以我们只能退而求其次——自己动手构建镜像。本文基于Ubuntu,Java8,sentinel-dashboard-1.8.7讲解
到GitHub(Releases · alibaba/Sentinel (github.com))下载
到oracle(Java Downloads | Oracle 中国)下载
Tips:如果你所处的国内互联网无法访问到以上网址,如不嫌弃请使用我分享的百度云盘下载它们(链接:https://pan.baidu.com/s/1n4WjOslFL-JBG2tq-7Fd1g?pwd=a3i2
提取码:a3i2)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
# 对外暴露端口8080
EXPOSE 8080
# 运行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,你也可以自定义名称,不过一定要遵循:的命名规则
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熔断降级之旅吧