SpringCloud之整合nacos基于docker

nacos:服务与注册中心

版本:springcloud 2.x , com.alibaba.cloud 2.x

安装docker后,修改镜像地址(推荐阿里地址,在注册后会有个人地址)。

 

拉取镜像 默认最新,或者找下载自己需要的版本:

docker pull nacos/nacos-server

简历容器并且启动:

 

docker run -d --name nacos -p 8848:8848 -e PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server

简单点的命令 需要什么参数自己加就可以 重要参数 -别名  -映射端口:

docker run -d --name nacos -p 8848:8848 nacos/nacos-server

打开nacos服务地址;http://127.0.0.1:8848/nacos/

账号密码 nacos

成功以后nacos服务已经搭建完毕。很简单吧 开箱即用

 


开始springboot项目。idea 或者eclipse 自动建立或者 https://start.spring.io/ 创建项目。

根据个人需要 如果nacos的配置和服务需要分开 可以搭建两个nacos-server。一般一个就够了。

pom.xml



	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.4.RELEASE
		 
	
	com.weny.githubsty
	springcloud
	0.0.1-SNAPSHOT
	springcloud
	Demo project for Spring Boot

	
		UTF-8
		UTF-8
		1.8
		Finchley.RELEASE
	

	
		
			org.springframework.boot
			spring-boot-starter
		

		
			org.projectlombok
			lombok
			true
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
			
				
					org.junit.vintage
					junit-vintage-engine
				
			
		

		
			com.alibaba.cloud
			spring-cloud-starter-alibaba-nacos-discovery
		
		
			com.alibaba.cloud
			spring-cloud-starter-alibaba-nacos-config
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.yaml
			snakeyaml
		

	

	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				${spring-cloud.version}
				pom
				import
			
			
				com.alibaba.cloud
				spring-cloud-alibaba-dependencies
				2.0.0.RELEASE
				pom
				import
			
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	


配置文件用的yml文件,bootstrap.yml   注意application.yml会运行失败。 

spring:
  application:
    name: control
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        ext-config:
            - data-id: springcloud-control.yml
              group: DEFAULT_GROUP

server:
  port: 8089







springcloud-control.yml为 放在nacos的配置文件,在nacos上面手动添加(初学者建议)或者本地导入文件都可。可以看到自定义的值author.name=Weny ,配置在nacos上。

SpringCloud之整合nacos基于docker_第1张图片

 

@EnableDiscoveryClient  声明项目服务注册在nacos
SpringcloudApplication.java
package com.weny.githubsty.springcloud;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;


@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class SpringcloudApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringcloudApplication.class, args);
    }

    @Value("${author.name}")
    private  String author;

    @RequestMapping(value = "/test")
    @ResponseBody
    public String nacostest() {
        return  author;
    }

}

运行 http://127.0.0.1:8089/test

SpringCloud之整合nacos基于docker_第2张图片成功读取到配置文件。

 

SpringCloud之整合nacos基于docker_第3张图片成功注册服务。

 

项目地址:  https://github.com/qq782874135/springcloud-learning

你可能感兴趣的:(nacos,docker)