赞
踩
目录
- <!-- nacos服务注册发现依赖-->
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
- </dependency>
- <!-- 网关gateway依赖-->
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-gateway</artifactId>
- </dependency>
- </dependencies>
- server:
- port: 10010
- spring:
- application:
- name: gateway
- cloud:
- nacos:
- server-addr: localhost:8848 #nacos地址
- gateway:
- routes:
- - id: user-service #路由标识,必须唯一
- uri: lb://userservice #路由的目标地址
- predicates: #路由断言,判断请求是否符合规则
- - Path=/user/** #路劲断言,判断路劲是否以/user开头
- - id: order-service
- uri: lb://orderservice
- predicates:
- - Path=/order/**
-
- //越小优先级越高
- //@Order(-1)
- @Component
- public class AuthorizeFilter implements GlobalFilter, Ordered {
- @Override
- public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
- //1、获取请求参数
- ServerHttpRequest request = exchange.getRequest();
- MultiValueMap<String, String> params = request.getQueryParams();
- //2、获取参数中的authorization 参数
- String auth = params.getFirst("authorization");
- //3、判断参数值是否等于admin
- if ( "admin".equals(auth) ){
- //4、是,放行
- return chain.filter(exchange);
- }
- //5、否,拦截
- //5.1设置状态码
- exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
- //5.2拦截请求
- return exchange.getResponse().setComplete();
- }
-
- @Override
- public int getOrder() {
- return -1;
- }
- }
首先需要大家虚拟机联网,安装yum工具
- yum install -y yum-utils \
- device-mapper-persistent-data \
- lvm2 --skip-broken
然后更新本地镜像源:
- # 设置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
- # 关闭
- systemctl stop firewalld
- # 禁止开机启动防火墙
- systemctl disable firewalld
通过命令启动docker:
- systemctl start docker # 启动docker服务
-
- systemctl stop docker # 停止docker服务
-
- systemctl restart docker # 重启docker服务
然后输入命令,可以查看docker版本:
docker -v
docker官方镜像仓库网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
- 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": ["*****************"]
- }
- EOF
- sudo systemctl daemon-reload
- sudo systemctl restart docker
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/
目录也可以。
修改文件权限:
- # 修改权限
- chmod +x /usr/local/bin/docker-compose
- # 补全命令
- curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
如果这里出现错误,需要修改自己的hosts文件:
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。
官网地址:https://hub.docker.com/_/registry
Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。
搭建方式比较简单,命令如下:
- docker run -d \
- --restart=always \
- --name registry \
- -p 5000:5000 \
- -v registry-data:/var/lib/registry \
- registry
命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。
访问http://YourIp:5000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像
使用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
我们的私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:
- # 打开要修改的文件
- vi /etc/docker/daemon.json
- # 添加内容:
- "insecure-registries":["http://192.168.150.101:8080"]
- # 重加载
- systemctl daemon-reload
- # 重启docker
- systemctl restart docker
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。