网站首页 > 基础教程 正文
简介:Sentinel 是面向分布式服务架构的一款轻量级流量控制产品。流量控制于网络传输领域是一个常见的概念,常被用于调控网络包的发送数据。网络哨兵 Sentinel 以流量作为切入点,从流量控制、熔断降级、系统负载保护等诸多维度对服务的稳定性予以保障。就 Linux 系统而言,Sentinel 还提供了防止系统崩溃的保护机制,能够使系统的入口流量与系统的负载达成一种平衡,确保系统在自身能力范畴内处理最多的请求。通常情况下,Sentinel 在官方网站下载 jar 包便能运行,然而在部署之时需要启动多个 jar 包,极为不便,将其制作成镜像则利于部署与管理。
本文主要阐述 Linux 环境中制作网络哨兵 Sentinel Docker 镜像的流程,详细内容敬请参考下文。
一、登录Linux系统
1.登录Linux
2.查看Linux版本
二、Sentinel介绍
1. 什么是Sentinel
说明:现在微服务非常流行,这样一来,服务跟服务之间的稳定性就变得越发重要。网络哨兵 Sentinel 是面向分布式服务架构的那种不太复杂的流量控制产品,主要把流量当作入手点,从流量控制、熔断降级、系统负载保护等好多方面来保障系统的稳定还有服务能正常用。
2. Sentinel的安装运行
(1)使用wget命令下载jar包
执行指令# wget https://github.com/alibaba/Sentinel/releases/download/1.8.2/sentinel-dashboard-1.8.2.jar 下载
(2)查看jar包
(3)运行jar包
执行指令# java -jar
sentinel-dashboard-1.8.2.jar
备注:默认情况下,Sentinel使用的是8080端口,与Tomcat一样,如果发现8080端口被占用,可以通过--server.port=****修改启动端口。比如java -jar
sentinel-dashboard-1.8.2.jar --server.port=9090,将启动端口修改为9090。
(4)访问Sentinel
说明:通过浏览器访问http://172.16.*.*:8080即可,Sentinel 默认账号密码都是sentinel。
输入用户名密码登录,界面如下
三、制作Sentinel镜像
1. 准备工作
(1)下载jdk包,如下图
执行指令# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
(2)创建Docker目录
说明:在/home/docker/sentinel目录,然后将已经下载的sentinel和jdk的jar包copy到该目录下。如下图
2. 制作Docker镜像
(1)生成Dockerfile文件
执行指令# vim dockerfile输入一下内容
该目录下的三个文件如下
(2)制作Docker镜像
执行指令# docker build -t bart/sentinel:1.8.2 .
说明:构建命令docker build -t bart/sentinel:1.8.2 .中需要特别注意最后有个点,默认使用 “上下文目录(Context)下的名为Dockerfile 的文件作为 Dockerfile”,在此,即用当前路径的 Dockerfile 进行构建 。
(3)运行Docker镜像
执行指令# # docker run -d \
--name sentinel \
--restart always \
-p 8080:8080 \
-v /home/gwc/docker/sentinel:/opt/sentinel/logs \
bart/sentinel:1.8.2
3.镜像的导出导入
说明:通过Dockfile文件制作完Docker镜像后,可以通过以下指令进行镜像的导出导入操作。
(1)导出镜像
执行指令# docker save -o /home/docker/sentinel/sentinel.tar bart/sentinel:1.8.2
(2)导入镜像
执行指令# docker load -i /home/docker/sentinel/sentinel.tar
猜你喜欢
- 2025-05-08 掌握SpringBoot-2.3的容器探针:实战篇
- 2025-05-08 kubernetes基础知识之驱逐节点(k8s驱逐节点后恢复)
- 2025-05-08 k8s之配置CNI网络(k8s 网络配置)
- 2025-05-08 docker实战之:镜像更新(docker 镜像升级替换)
- 2025-05-08 离线在docker镜像方式部署ragflow0.17.2
- 2025-05-08 Linux日常小技巧Docker打包(docker打包lnmp)
- 2025-05-08 使用dockerfile构建docker镜像(docker通过dockerfile构建镜像命令)
- 2025-05-08 「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作
- 2025-05-08 Kylin安装Dify(kylin安装部署)
- 2025-05-08 如何查看Docker镜像内容(docker查看镜像状态)
- 最近发表
-
- 掌握SpringBoot-2.3的容器探针:实战篇
- kubernetes基础知识之驱逐节点(k8s驱逐节点后恢复)
- Linux环境中制作网络哨兵Sentinel Docker镜像
- k8s之配置CNI网络(k8s 网络配置)
- docker实战之:镜像更新(docker 镜像升级替换)
- 离线在docker镜像方式部署ragflow0.17.2
- Linux日常小技巧Docker打包(docker打包lnmp)
- 使用dockerfile构建docker镜像(docker通过dockerfile构建镜像命令)
- 「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作
- Kylin安装Dify(kylin安装部署)
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)