欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Docker安装Nacos及动态配置

Docker安装Nacos及动态配置

2024/10/24 10:14:56 来源:https://blog.csdn.net/m0_64637029/article/details/140880490  浏览:    关键词:Docker安装Nacos及动态配置

文章目录

    • 1.安装Nacos
        • 1.拉取镜像
        • 2.启动Nacos
        • 3.开启8848和9848端口
          • 1.8848
          • 2.9848
        • 4.访问nacos
          • 1.网址 http://guest:8848/nacos/
    • 2.Nacos动态配置(无法实现bean动态加载)
        • 1.新建一个配置,使其成为动态的
        • 2.引入Nacos依赖
        • 3.application.yml配置Nacos
        • 4.测试读取Nacos的配置
          • 1.FileController.java
          • 2.访问测试
    • 3.Nacos动态配置(实现bean动态加载)
        • 1.SpringBoot依赖版本调整为2.3.8
        • 2.引入Nacos的Cloud版本(替换掉之前的)
        • 3.删除原来的application.yml的nacos配置
        • 4.新建一个bootstrap.yml配置nacos
        • 5.新建一个Nacos的配置文件
          • DataID命名格式为 prefix + "-" + active + ".yaml" 也就是 sub-club-oss-dev.yaml(注意必须加后缀.yaml!!!)
        • 6.添加@RefreshScope注解支持nacos动态刷新
          • 1.简要介绍
          • 2.修改 StorageConfig.java,添加注解
          • 3.测试

1.安装Nacos

1.拉取镜像
docker pull nacos/nacos-server

image-20240531150918430

2.启动Nacos
  • –env MODE=standalone:设置 Nacos 的运行模式为单机模式(standalone)
  • -w /home/nacos:设置容器的工作目录为 /home/nacos
docker run -d \--name nacos \--privileged  \--cgroupns host \--env MODE=standalone \-p 8848:8848/tcp \-p 9848:9848/tcp \--restart=always \-w /home/nacos \nacos/nacos-server

image-20240531151349456

3.开启8848和9848端口
1.8848
systemctl start firewalld && firewall-cmd --permanent --add-port=8848/tcp && firewall-cmd --reload && firewall-cmd --query-port=8848/tcp
2.9848
systemctl start firewalld && firewall-cmd --permanent --add-port=9848/tcp && firewall-cmd --reload && firewall-cmd --query-port=9848/tcp
4.访问nacos
1.网址 http://guest:8848/nacos/

image-20240531151819945

2.Nacos动态配置(无法实现bean动态加载)

1.新建一个配置,使其成为动态的

image-20240531152552108

image-20240531152708437

2.引入Nacos依赖
        <dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.11</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId><version>2.4.2</version></dependency>
3.application.yml配置Nacos
nacos:config:secret-key: nacosaccess-key: nacosdata-id: sun-club-ossgroup: DEFAULT_GROUPtype: yamlserver-addr: http://guest:8848auto-refresh: trueremote-first: true # 是否优先从远程加载配置bootstrap:enable: true # 在应用启动时首先从Nacos加载配置
4.测试读取Nacos的配置
1.FileController.java
    @NacosValue(value = "${storage.service.type}", autoRefreshed = true)private String storageType;@RequestMapping("/testNacos")public String testNacos() throws Exception {return storageType;}

image-20240531154026735

2.访问测试

image-20240531154046091

image-20240531154117739

image-20240531154127601

3.Nacos动态配置(实现bean动态加载)

1.SpringBoot依赖版本调整为2.3.8

image-20240531155017562

2.引入Nacos的Cloud版本(替换掉之前的)
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.2.6.RELEASE</version>
</dependency>
3.删除原来的application.yml的nacos配置
4.新建一个bootstrap.yml配置nacos
spring:application:name: sub-club-oss # 服务名称profiles:active: dev # 激活的环境cloud:nacos:config:server-addr: guest:8848 # Nacos地址prefix: ${spring.application.name} # 配置前缀为服务名,sub-club-oss-dev为配置文件名group: DEFAULT_GROUP # 配置分组namespace: # 命名空间,如果在public命名空间则不需要配置file-extension: yaml
5.新建一个Nacos的配置文件
DataID命名格式为 prefix + “-” + active + “.yaml” 也就是 sub-club-oss-dev.yaml(注意必须加后缀.yaml!!!)

image-20240531164853418

6.添加@RefreshScope注解支持nacos动态刷新
1.简要介绍

在类上添加注解会让属性动态刷新,在方法上添加注解会让方法内用到的属性跟着动态刷新!

2.修改 StorageConfig.java,添加注解

image-20240531161219039

3.测试

image-20240531164918489

image-20240531164943340

image-20240531165000536

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com