SpringCloud微服务(二)网关GateWay、Docker、Dockerfile、Linux操作超详细

news2024/12/25 9:22:28

目录

统一网关GateWay

 搭建网关服务的步骤

1、引入依赖

2、编写路由配置及nacos地址

路由断言工厂Route Oredicate Factory 

路由过滤器配置

 全局过滤器GlobalFilter

过滤器执行顺序

跨域问题处理 

 Docker

 ​编辑

Docker与虚拟机 

镜像和容器

Docker的安装

启动docker

配置镜像加速

Docker基本操作

Docker基本命令 

数据卷 

操作数据卷

 挂载数据卷

Dockerfile自定义镜像

 Dockerfile

 DockerCompose

CentOS7安装DockerCompose

2.2.修改文件权限

2.3.Base自动补全命令:

 Docker镜像仓库

3.Docker镜像仓库

3.1.简化版镜像仓库

3.2.带有图形化界面版本

3.3.配置Docker信任地址


统一网关GateWay

 

 

 搭建网关服务的步骤

1、引入依赖

<!--        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>

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: #路由断言,判断请求是否符合规则
            - Path=/user/** #路劲断言,判断路劲是否以/user开头
        - id: order-service
          uri: lb://orderservice
          predicates:
            - Path=/order/**

路由断言工厂Route Oredicate Factory 

 

 

 

路由过滤器配置

 

 全局过滤器GlobalFilter


//越小优先级越高
//@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;
    }
}

 

 

过滤器执行顺序

跨域问题处理 

 

 Docker

 

 

 

 

Docker与虚拟机 

 

 

镜像和容器

 

 

Docker的安装

 首先需要大家虚拟机联网,安装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

启动docker

# 关闭
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": ["https://zhlulsyn.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker基本操作

 

Docker基本命令 

 

 

 

 

 

 ​​​​​​​

 

 

 

 

 

 

 

 

数据卷 

 

 

操作数据卷

 

 

 

 

 挂载数据卷

 

 

 

 

 

 

 

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.修改文件权限

修改文件权限:

# 修改权限
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

如果这里出现错误,需要修改自己的hosts文件:

echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

 

 Docker镜像仓库

 

3.Docker镜像仓库

搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。

官网地址:https://hub.docker.com/_/registry

3.1.简化版镜像仓库

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 可以查看当前私有镜像服务中包含的镜像

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协议,默认不被Docker信任,所以需要做一个配置:

# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:
"insecure-registries":["http://192.168.150.101:8080"]
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/683013.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

原生JS实现图片裁剪功能

功能介绍&#xff1a;图片通过原生input上传&#xff0c;使用canvas进行图片裁剪。 裁剪框限制不允许超出图片范围&#xff0c;图片限制了最大宽高&#xff08;自行修改要的尺寸&#xff09;&#xff0c;点击确认获取新的base64图片数据 效果图&#xff1a; 上代码 <!DOCT…

物种气候生态位动态量化与分布特征模拟----R语言

在全球气候快速变化的背景下&#xff0c;理解并预测生物种群如何应对气候变化&#xff0c;特别是它们的地理分布如何变化&#xff0c;已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟&#xff0c;不仅可以量化描述物种对环境的需求和适应性&#xff0c;预…

【断路器型号字母含义解析】- 米思米机械设备知识分享

断路器型号意义含义 目前我国断路器型号根据国家技术标准的规定&#xff0c;一般由文字符号和数字按以下方式组成。其代表意义为&#xff1a; ①;产品字母代号&#xff0c;用下列字母表示&#xff1a; S;少油断路器&#xff1b; D;多油断路器&#xff1b; K;空气断路器&#xf…

听说你还不知道什么是 python?带你深入理解什么是 python

文章目录 前言什么是pythonpython的由来我们为什么要学习python帮助python学习的网站 前言 各位朋友们&#xff0c;大家好。在之后的时间里&#xff0c;我将陆续为大家分享我在python学习过程中学习到的知识点&#xff0c;如果你也对python感兴趣的话&#xff0c;欢迎大家来订…

持 PMP®证书增持 CSPM-2证书,先下手就对了!

2023年6月起&#xff0c;持有PMP证书的朋友可以直接增持一个同等级证书CSPM-2&#xff0c;不用重新考试&#xff0c;不用重新学习&#xff0c;原PMP证书不影响正常使用&#xff0c;相当于多了一个国标项目管理领域的证书。 第一步准备资料 1、填写能力评价表(简历和业绩不用填…

Stateflow状态图

目录 1.Stateflow简介 2.Stateflow编辑 2.1 打开方式 2.2 状态 2.3 状态名称 2.4 迁移 2.4.1 迁移 2.4.2 默认迁移 2.4.3 迁移有效条件 3 数据与事件 3.1 数据 3.2 事件 4 示例 1.Stateflow简介 Stateflow对象可分为图形对象和非图形对象。 图形对象包括&#xff1…

LangChain 介绍及相关组件使用总结

一、langChain LangChain 是一个由语言模型LLMs驱动的应用程序框架&#xff0c;它允许用户围绕大型语言模型快速构建应用程序和管道。 可以直接与 OpenAI 的 ChatGPT 模型以及 Hugging Face 集成。通过 langChain 可快速构建聊天机器人、生成式问答(GQA)、本文摘要等应用场景。…

Nginx做图片服务器

前言&#xff1a; Nginx是一个高性能的HTTP和反向代理web服务器,以及负载均衡器。根据nginx是高性能的http服务器&#xff0c;因此可以用作图片服务器使用。 本案例是在docker安装nginx来操作的。 Nginx安装 1、首先是docker的安装 详情参考&#xff1a;docker安装 2、拉取ng…

倒计时2天,解锁亚马逊云科技中国峰会 Dev Lounge 玩法

2023 亚马逊云科技中国峰会即将重磅登陆上海 主会场与分论坛云集百余位重磅嘉宾 开发者会客厅也已集齐全球优秀开源社区 倒计时2天&#xff0c;赶快报名参与这场顶级盛会&#xff01; 开发者大讲堂&#xff0c;圆桌讨论给你精彩 数据对于企业和个人来说都至关重要&#xff0…

【kubernetes系列】Kubernetes中的重要概念

​ 在学习k8s之前&#xff0c;必须先了解 Kubernetes 的几个重要概念&#xff0c;它们是组成 Kubernetes 集群的基石。&#xff08;参考Kubernetes权威指南&#xff09; 一、Master Kubernetes 里的Master指的是集群的控制节点&#xff0c; 每个Kubernetes 集群里至少需要有一…

大数据应用——hive实验

任务一&#xff1a;完成Hive内嵌模式部署 1.1 Hive部署 官网下载Hive安装包 &#xff08;1&#xff09;官网地址&#xff1a;Apache Hive &#xff08;2&#xff09;文档查看地址&#xff1a; https://cwili.apache.org/confluence/display/Hive/GettingStarted &#xff08;2&…

年轻人存款难吗?探讨现实挑战与如何应对

年轻人存款难吗&#xff1f;探讨现实挑战与如何应对 近日&#xff0c;一项调查显示“大概五分之一的年轻人存款在一万元以内。10万元存款是一个“坎”&#xff0c;存款超过10万就会超过53.7%的人。”这个数据引发了关于“年轻人”和“存款”的广泛关注和讨论。作为社会的未来&…

使用 Maya、ZBrush 和 XGen 创建极其逼真的美女肖像

今天云渲染小编给大家带来的是CG艺术家Hadi Karimi 的朋友 Clara 肖像模型背后的工作流程&#xff0c;展示了头发是如何使用 XGen 完成的&#xff0c;并解释了为什么历史人物很难进行逼真的渲染。 介绍 大家伙&#xff0c;我是 Hadi Karimi&#xff0c;是一名来自伊朗的自由 C…

.net点选验证码实现思路分享

哈哈好久没冒泡了&#xff0c;最进看见点选验证码有点意思&#xff0c;所以想自己写一个。 先上效果图 如果你被这个效果吸引了就请继续看下去。 贴代码前先说点思路&#xff1a; 1.要有一个汉字库,并按字形分类。&#xff08;我在数据库里是安部首分类的&#xff09; 2.获…

力扣题库刷题笔记13--罗马数字转整数

1、题目如下&#xff1a; 2、个人Python代码实现&#xff1a; 虽然前面刚刷了整数转罗马数字&#xff0c;而且本题难度为简单&#xff0c;实际上做出来还是花了很多时间&#xff0c;不亚于前面整数转罗马数字。 以上的思路&#xff0c;主要是声明一个列表temp&#xff0c;然后遍…

【MYSQL】—— MySQL 在 Centos 7环境安装

本期&#xff0c;我将给大家介绍的是如何在【Linux】上安装相应的 mysql。 目录 1. 卸载不要的环境 2. 检查系统安装包 3. 获取mysql官⽅yum源 4. 安装mysql yum 源&#xff0c;对⽐前后yum源 5. 看看能不能正常⼯作 6. 安装mysql服务 7. 启动服务 8. 查看启动服务 9.…

从“特种兵旅游”到“citywalk”,渡远户外还能热下去么?

过去风靡一时的“户外露营热”&#xff0c;有些企业赶上了&#xff0c;有些没有。去年坐上“末班车”的渡远户外也想尝些甜头。 套上“户外”概念的渡远户外&#xff0c;或许正在被质疑“血统”并不“纯正”&#xff0c;主营房车游艇配套产品和水上休闲运动产品&#xff0c;说…

【新星计划Linux】——学习工具VMware介绍

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​ 前言 本章将会讲解Linux学习工具VMware介绍。 一.VMware介绍 1.前期准备 官方网站&#…

【资料分享】全志科技T507-H评估板规格书(4核ARM Cortex-A53,主频1.416GHz)

1 评估板简介 创龙科技TLT507-EVM是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53国产工业评估板&#xff0c;主频高达1.416GHz&#xff0c;由核心板和评估底板组成。核心板CPU、ROM、RAM、电源、晶振等所有器件均采用国产工业级方案&#xff0c;国产化率100%。同时&a…

实战:win10安装docker并用docker-compose构建运行容器

文章目录 前言Docker DesktopHyper-V安装 Docker Desktop for Windows下载docker desktopDocker安装目录软连接运行Docker Desktop安装文件Docker Desktop验证 docker-compose构建运行管理容器创建文件目录及配置文件构建并启动容器查看启动的容器并验证 写在最后 前言 Docker…