搭建Sentinel控制台--docker方式


1、前置

1、找到自己对应的版本
2、运行镜像, 配置参数
3、日志挂载
4、说明一些对应的可配置参数
5、 重点说明

2、版本对应

我用的是Spring Cloud Alibaba这一套,
Spring Cloud Alibaba: 2.2.1.RELEASE
我对应的sentinel版本就是: 1.7.1

版本说明地址在: https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
在这里插入图片描述

3、配置运行镜像

我这边用的镜像也是网上一样: bladex/sentinel-dashboard

// pull镜像:对应的版本
docker pull bladex/sentinel-dashboard:1.7.1

①、docker-compse

docker-sentinel.yaml

# 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
docker-compose -f docker-sentinel.yaml up -d

②、docker run

docker run --name sentinel -p 8858:8858 -e auth.enabled="true" -e sentinel.dashboard.auth.username=admin -e sentinel.dashboard.auth.password=admin123 -e server.servlet.session.timeout=7200 -d  bladex/sentinel-dashboard:1.7.1

在这里插入图片描述

4、日志以及挂载

在这里插入图片描述

在这里插入图片描述
位置有了, 就随便挂载吧

# docker-compose挂载
volumes:
  - "E://Docker/sentinel/logs:/root/logs/csp"
# docker run 挂载
-v "E://Docker/sentinel/logs:/root/logs/csp"

5、可配置参数

启动配置项: https://github.com/alibaba/Sentinel/wiki/%E5%90%AF%E5%8A%A8%E9%85%8D%E7%BD%AE%E9%A1%B9
在这里插入图片描述

控制台配置项(鉴权): https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0
在这里插入图片描述

随便截了两张图, 具体的参数, 以及可配置参数, 大家根据我贴的链接可以自行查看, 根据所需配置

6、重点说明

重点说明的来了:
其中有些参数我们通过-e指定环境变量是配置不了, 基于我们目前使用的镜像:bladex/sentinel-dashboard, 因为优先级的问题
我们知道一个, 就是

# 查看一下镜像的详细信息
docker inspect bladex/sentinel-dashboard:1.7.1

在这里插入图片描述
在这里插入图片描述

这段命令解释一下就是:

java -Djava.security.egd=file:/dev/./urandom -Dserver.port=8858 -Dcsp.sentinel.api.port=8719 -Dcsp.sentinel.dashboard.server=localhost:8858 -Dproject.name=sentinel-dashboard -jar app.jar

解决方法, 第一种我下面所列, 第二种就是自己打包sentinel镜像:
通过docker -entrypoint进行Entrypoint的覆盖(必须通过脚本方式, 下一篇博客会进行说明!)

docker-sentinel.sh:

#!/bin/bash

java -Djava.security.egd=file:/dev/./urandom -Dserver.port=8898 -Dcsp.sentinel.api.port=8719 -Dcsp.sentinel.dashboard.server=localhost:8898 -Dproject.name=sentinel -jar /bladex/sentinel/app.jar
# docker run 方式 (既然直接覆盖了, 我们也就没有必要在使用-e命令了, 直接在脚本里面进行指定)
docker run --name sentinel -p 8858:8898 -v "E:/Docker/sentinel/sh/:/docker/sentinel/" -e auth.enabled="true" -e sentinel.dashboard.auth.username=admin -e sentinel.dashboard.auth.password=admin123 -e server.servlet.session.timeout=7200 --entrypoint "/docker/sentinel/docker-sentinel.sh" -d  bladex/sentinel-dashboard:1.7.1
# docker-compose方式(一样, 采用了覆盖操作, environment就没必要了)
# Compose 版本 Version 2支持更多的指令。Version 1将来会被弃用。
version: "3"

# 定义服务
services:

  # 为project定义服务
  sentinel:
    image: bladex/sentinel-dashboard:1.7.1
    ports:
      - 8858:8898
    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
    # 挂载
    volumes:
      - "E://Docker/sentinel/sh/:/docker/sentinel/"
    # 覆盖默认入口点。
    entrypoint: /docker/sentinel/docker-sentinel.sh
    restart: always
    container_name: sentinel
    privileged: true
    

看下最后效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后: 如果有需要, 可以写一篇如何打包sentinel镜像的文章(虽然网上一大把, 哈哈哈), 评论可留言哦

补了一遍文章说明docker entrypoint, docker覆盖镜像默认命令之docker entrypoint: https://blog.csdn.net/qq_38637558/article/details/120783759

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值