目錄
統(tǒng)一網(wǎng)關(guān)GateWay
?搭建網(wǎng)關(guān)服務(wù)的步驟
1、引入依賴
2、編寫路由配置及nacos地址
路由斷言工廠Route Oredicate Factory?
路由過濾器配置
?全局過濾器GlobalFilter
過濾器執(zhí)行順序
跨域問題處理?
?Docker
??編輯
Docker與虛擬機?
鏡像和容器
Docker的安裝
啟動docker
配置鏡像加速
Docker基本操作
Docker基本命令?
數(shù)據(jù)卷?
操作數(shù)據(jù)卷
?掛載數(shù)據(jù)卷
Dockerfile自定義鏡像
?Dockerfile
?DockerCompose
CentOS7安裝DockerCompose
2.2.修改文件權(quán)限
2.3.Base自動補全命令:
?Docker鏡像倉庫
3.Docker鏡像倉庫
3.1.簡化版鏡像倉庫
3.2.帶有圖形化界面版本
3.3.配置Docker信任地址
統(tǒng)一網(wǎng)關(guān)GateWay
?
?
?搭建網(wǎng)關(guān)服務(wù)的步驟
1、引入依賴
<!-- nacos服務(wù)注冊發(fā)現(xiàn)依賴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 網(wǎng)關(guān)gateway依賴-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
</dependencies>
2、編寫路由配置及nacos地址
server:
port: 10010
spring:
application:
name: gateway
cloud:
nacos:
server-addr: localhost:8848 #nacos地址
gateway:
routes:
- id: user-service #路由標識,必須唯一
uri: lb://userservice #路由的目標地址
predicates: #路由斷言,判斷請求是否符合規(guī)則
- Path=/user/** #路勁斷言,判斷路勁是否以/user開頭
- id: order-service
uri: lb://orderservice
predicates:
- Path=/order/**
路由斷言工廠Route Oredicate Factory?
?
?
?
路由過濾器配置
?
?全局過濾器GlobalFilter
//越小優(yōu)先級越高
//@Order(-1)
@Component
public class AuthorizeFilter implements GlobalFilter, Ordered {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
//1、獲取請求參數(shù)
ServerHttpRequest request = exchange.getRequest();
MultiValueMap<String, String> params = request.getQueryParams();
//2、獲取參數(shù)中的authorization 參數(shù)
String auth = params.getFirst("authorization");
//3、判斷參數(shù)值是否等于admin
if ( "admin".equals(auth) ){
//4、是,放行
return chain.filter(exchange);
}
//5、否,攔截
//5.1設(shè)置狀態(tài)碼
exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
//5.2攔截請求
return exchange.getResponse().setComplete();
}
@Override
public int getOrder() {
return -1;
}
}
?
?
過濾器執(zhí)行順序
跨域問題處理?
?
?Docker
?
?
?
?
Docker與虛擬機?
?
?
鏡像和容器
?
?
Docker的安裝
?首先需要大家虛擬機聯(lián)網(wǎng),安裝yum工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
然后更新本地鏡像源:
# 設(shè)置docker鏡像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然后輸入命令:
yum install -y docker-ce
啟動docker
# 關(guān)閉
systemctl stop firewalld
# 禁止開機啟動防火墻
systemctl disable firewalld
通過命令啟動docker:
systemctl start docker # 啟動docker服務(wù)
systemctl stop docker # 停止docker服務(wù)
systemctl restart docker # 重啟docker服務(wù)
然后輸入命令,可以查看docker版本:
docker -v
配置鏡像加速
docker官方鏡像倉庫網(wǎng)速較差,我們需要設(shè)置國內(nèi)鏡像服務(wù):
參考阿里云的鏡像加速文檔:阿里云登錄 - 歡迎登錄阿里云,安全穩(wěn)定的云計算服務(wù)平臺
1. 安裝/升級Docker客戶端
推薦安裝1.10.0以上版本的Docker客戶端,參考文檔docker-ce
2. 配置鏡像加速器
針對Docker客戶端版本大于 1.10.0 的用戶
您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://zhlulsyn.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker基本操作
?
Docker基本命令?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-500893.html
?
?
?
?
????????
?
?
?
?
?
?
?
?
數(shù)據(jù)卷?
?
?
操作數(shù)據(jù)卷
?
?
?
?
?掛載數(shù)據(jù)卷
?
?
?
?
?
?
?
Dockerfile自定義鏡像
?
?
?Dockerfile
?
?
?
?
?DockerCompose
?
?
CentOS7安裝DockerCompose
Linux下需要通過命令下載:
# 安裝
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
如果下載速度較慢,或者下載失敗,可以使用課前資料提供的docker-compose文件:上傳到/usr/local/bin/
目錄也可以。
2.2.修改文件權(quán)限
修改文件權(quán)限:
# 修改權(quán)限
chmod +x /usr/local/bin/docker-compose
2.3.Base自動補全命令:
# 補全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
如果這里出現(xiàn)錯誤,需要修改自己的hosts文件:
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
?
?Docker鏡像倉庫
?
3.Docker鏡像倉庫
搭建鏡像倉庫可以基于Docker官方提供的DockerRegistry來實現(xiàn)。
官網(wǎng)地址:https://hub.docker.com/_/registry
3.1.簡化版鏡像倉庫
Docker官方的Docker Registry是一個基礎(chǔ)版本的Docker鏡像倉庫,具備倉庫管理的完整功能,但是沒有圖形化界面。
搭建方式比較簡單,命令如下:
docker run -d \
--restart=always \
--name registry \
-p 5000:5000 \
-v registry-data:/var/lib/registry \
registry
命令中掛載了一個數(shù)據(jù)卷registry-data到容器內(nèi)的/var/lib/registry 目錄,這是私有鏡像庫存放數(shù)據(jù)的目錄。
訪問http://YourIp:5000/v2/_catalog 可以查看當前私有鏡像服務(wù)中包含的鏡像
3.2.帶有圖形化界面版本
使用DockerCompose部署帶有圖象界面的DockerRegistry,命令如下:
version: '3.0'
services:
registry:
image: registry
volumes:
- ./registry-data:/var/lib/registry
ui:
image: joxit/docker-registry-ui:static
ports:
- 8080:80
environment:
- REGISTRY_TITLE=傳智教育私有倉庫
- REGISTRY_URL=http://registry:5000
depends_on:
- registry
3.3.配置Docker信任地址
我們的私服采用的是http協(xié)議,默認不被Docker信任,所以需要做一個配置:
# 打開要修改的文件
vi /etc/docker/daemon.json
# 添加內(nèi)容:
"insecure-registries":["http://192.168.150.101:8080"]
# 重加載
systemctl daemon-reload
# 重啟docker
systemctl restart docker
?文章來源:http://www.zghlxwxcb.cn/news/detail-500893.html
?
到了這里,關(guān)于SpringCloud微服務(wù)(二)網(wǎng)關(guān)GateWay、Docker、Dockerfile、Linux操作超詳細的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!