简介: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