1、下载 jar 包
官方 jar 包下载地址:https://github.com/alibaba/Sentinel/releases
或者点击 链接 直接跳转到下载页
进入链接下载你需要的版本
下载完毕(我这里统一放在一个sentinel
目录内)
2、编写 Dockerfile 文件(这里我不使用 docker-compose 部署)
在 sentinel
目录内创建 Dockerfile
文件并填写以下内容:
#java 版本
FROM java:8
##挂载的docker卷
VOLUME /tmp
# 定义jar包名称
ENV JAR_FILE *.jar # 这里因为只有一个 jar 包,简便我就直接写 *.jar 了
# 拷贝 jar 包到容器内
COPY $JAR_FILE sentinel-dashboard.jar
# 定义时区参数
ENV TZ=Asia/Shanghai
# 设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
# 配置启动命令
ENTRYPOINT ["java", "-jar", "/sentinel-dashboard.jar"]
3、编写构建镜像&运行容器脚本
在 sentinel
目录内创建一个脚本,这里我叫做 build-run.sh
# sh脚本不需要加上开头那行 !#bin/bash
# 构建镜像
docker build -t sentinel-dashboard:1.8.6 .
# 运行容器
docker run --name sentinel-dashboard -p 8080:8080 --restart=always --privileged=true -d sentinel-dashboard:1.8.6
4、构建启动
最终文件目录内的文件如下:
1. 给 build-run.sh执行权限
# 首先进入 sentinel 目录
chmod +x build-run.sh
2. 执行脚本
sh build-run.sh # sh 脚本执行方式: sh ***.sh
3. 等待构建镜像 & 启动容器
4. 容器启动完成
5. 验证
打开 localhost:8080
默认账号、密码都是sentinel
这里我配了两个微服务查看效果
5、如果你一定要用 docker-compose,请参照下面这个
# 参考链接:https://blog.51cto.com/chaim/4582366
# Compose 版本 Version 2支持更多的指令。Version 1将来会被弃用。
version: "3"
# 定义服务
services:
# 为project定义服务
sentinel:
image: bladex/sentinel-dashboard:1.7.1
ports:
- 8858:8858
environment:
# 是否开启登录鉴权,仅用于日常测试,生产上不建议关闭, 默认true
auth.enabled: "true"
# 登录控制台的用户名,默认为 sentinel
sentinel.dashboard.auth.username: admin
# 登录控制台的密码,默认为 sentinel
sentinel.dashboard.auth.password: admin123
# 用于指定 Spring Boot 服务端 session 的过期时间,如 7200 表示 7200 秒;60m 表示 60 分钟,默认为 30 分钟;
server.servlet.session.timeout: 7200
restart: always
container_name: sentinel
privileged: true