• docker nacos安装,注册,配置,测试


    docker安装nacos

    docker  run \
    --name nacos-roswu -d \
    -p 8848:8848 \
    --privileged=true \
    --restart=always \
    -e JVM_XMS=256m \
    -e JVM_XMX=256m \
    -e MODE=standalone \
    -e PREFER_HOST_MODE=hostname \
    --mount source=nacos-logs,destination=/home/nacos/logs \
    --mount source=nacos-conf,destination=/home/nacos/conf \
    nacos/nacos-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    运行上分命令,运行nacos容器,可以不提前pull镜像,也不需要提前创建nacos-logs和nacos-conf两个volume,对-v--mount相关的数据卷操作还不熟悉的,可以参考新出炉的用了这么久docker,今天才算是把容器数据卷搞清楚了

    使用docker logs nacos-roswu查看容器运行日志

    在这里插入图片描述容器运行正常,接着可以到/var/lib/docker/volumes/nacos-conf/_data/var/lib/docker/volumes/nacos-logs/_data两个目录下,查看和编辑nacos容器内映射的日志和配置。这里就不展示了。

    控制台

    使用http://宿主机ip:8848/nacos访问nacos控制台,如果是云服务器的话,需要查看8848端口是否开发。用户名和密码均为nacos

    在这里插入图片描述
    这里可以查看和监控配置中心和注册进来的服务信息。

    测试工程

    创建一个springboot工程,

    添加依赖

    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0modelVersion>
        <parent>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-parentartifactId>
            <version>2.1.7.RELEASEversion>
            <relativePath/> 
        parent>
        <groupId>com.roswu.nacosgroupId>
        <artifactId>nacos-demoartifactId>
        <version>1.0.0.1-SNAPSHOTversion>
        <name>nacos-roswuname>
    
        <properties>
            <java.version>1.8java.version>
            <spring-cloud.version>Greenwich.SR2spring-cloud.version>
        properties>
    
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
            dependency>
            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
            dependency>
    
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-webartifactId>
            dependency>
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-testartifactId>
                <scope>testscope>
            dependency>
        dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloudgroupId>
                    <artifactId>spring-cloud-dependenciesartifactId>
                    <version>${spring-cloud.version}version>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
                <dependency>
                    <groupId>com.alibaba.cloudgroupId>
                    <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                    <version>2.1.0.RELEASEversion>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
            dependencies>
        dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-maven-pluginartifactId>
                plugin>
            plugins>
        build>
    
    project>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70

    编辑配置文件

    bootstrap.yml,application.yml,application-dev.yml三个配置文件

    bootstrap.yml

    server:
      port: 8088
    
    spring:
      application:
        name: nacosRoswu
      profiles:
        active: dev
      cloud:
        nacos:
          discovery:
            server-addr: nacos主机ip:8848 #配置Nacos地址
          config:
            server-addr: nacos主机ip:8848 #Nacos地址
            file-extension: yml #这里我们获取的yaml格式的配置
    
    management:
      endpoints:
        web:
          exposure:
            include: '*'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    application.yml和application-dev

    application.yml和application-dev暂时就空着吧,nacos启动时需要加载bootstrap.yml中的系统级别配置,所有相关的系统配置都放到了该文件中,application是项目级别的配置。

    添加nacos配置

    配置管理–》配置列表–》新增,随便添加了一个以下配置

    在这里插入图片描述
    这里要特别特别注意Data Id的命名,不能随意取,由这三部分拼接而成

    在这里插入图片描述

    编写测试Controller

    编写一个controller

    @RefreshScope
    @RestController
    @RequestMapping("/test")
    public class TestController {
    
        @Value("${test.hello}")
        private String hello;
    
    
        @GetMapping("/hello")
        public String hello(){
            return hello;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    这里也要注意@RefreshScope注解,因为hello是成员属性,初始化一次后,每次值属性不会主动变,使用该注解后,可以根据nacos配置动态更新。

    接口测试

    启动服务后,访问地址http://localhost:8088/test/hello

    在这里插入图片描述更新nacos配置后,刷新,显示的值可以动态更新。

  • 相关阅读:
    (附源码)app智能手机的微课程学习系统 毕业设计 100909
    workerman的基本用法(示例详解)
    【线性代数/机器学习】矩阵的奇异值与奇异值分解(SVD)
    2022Vue经典面试题及答案汇总(持续更新)
    MySQL之MHA高可用配置及故障切换
    Echarts与数据可视化
    面试题什么是分布式垃圾回收(DGC)?它是如何工作的?
    外贸SEO 站长工具
    ES6 入门教程 21 async 函数 21.3 语法
    Bootstrap5 容器
  • 原文地址:https://blog.csdn.net/qq_41885819/article/details/126125269