综合了一些网上的文章,结合自己的亲身使用,直接使用镜像 bladex/sentinel-dashboard 觉得不太好用,很多东西不能自定义、自主发挥(例如修改控制台标题,修改登录账号、密码,因为第三方jar包有漏洞需要升级,如fastjson版本)。还有办法是直接下载官网release里的jar包直接部署使用(如下所示),但还是不如下载源码修改编译来得自由。故下文是基于下载源码编译的操作。如果想直接拉取镜像、或下载jar包部署的方法,请见文末的参考文章。Releases · alibaba/Sentinel · GitHubA powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件) - Releases · alibaba/Sentinelhttps://github.com/alibaba/Sentinel/releases
我是在linux服务器编译的,所以我直接在github下载 https://github.com/alibaba/Sentinel/archive/refs/tags/1.8.4.zip
并上传到linux服务器,解压后先到主目录尝试编译一次 make clean package -DskipTests,是编译成功的,编译结果在 sentinel-dashboard/target/sentinel-dashboard.jar
创建目录用于存放sentinel资料(路径自行定义) mkdir -p /opt/zxq/zxqhlq/document/sentinel
自己创建docker镜像:在该目录,编辑Dockerfile
#java 版本
FROM java:8
##挂载的docker卷
VOLUME /tmp
#前者是要操作的jar包 后者自定义jar包名
ADD *.jar sentinel-dashboard.jar
#定义时区参数
ENV TZ=Asia/Shanghai
#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
#配置启动命令,-D表示设置JVM参数
ENTRYPOINT ["java","-jar","-Dserver.port=8858","-Dcsp.sentinel.dashboard.server=172.18.181.35:8858","-Dproject.name=sentinel-dashboard","/sentinel-dashboard.jar"]
在该目录,将刚才编译的jar包 sentinel-dashboard.jar 拷贝过来。
在该目录下输入如下命令,打docker镜像包:
docker build -t saas/collectcode/sentinel-dashboard .(镜像名称自行定义)
打包成功后,输入 docker images ,会显示镜像信息:
运行docker镜像(参数作用不赘述,不懂自行百度):
docker run --name collectcode_sentinel --restart=always --privileged=true -p 8858:8858 -d saas/collectcode/sentinel-dashboard
访问sentinel控制台,如下所示:
访问成功。
可以通过源码修改控制台登录账号密码(在sentinel-dashboard/src/main/resources/application.properties的auth.username=sentinel和auth.password=sentinel),第三方jar包版本(如fastjson),控制台标题、界面展示,然后再编译为jar包,修改方式不难,全局搜索下关键字修改下就好,如果实在不会就留言,在此不详述了。
参考文章:
Sentinel(二)Docker搭建Sentinel 控制台环境搭建及使用介绍_一恍过去的博客-CSDN博客_docker sentinel