Docker 下 Nacos 配置应用开发
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
本文是在《Docker下,两分钟极速体验Nacos配置中心》一文的续篇,前面我们快速搭建 Nacos 配置中心,并且运行一个 springboot 应用来使用该配置中心的服务,今天来研究这个 springboot 应用的细节,学习 springboot 应用如何使用 Nacos 配置中心的服务;
系列文章链接
下面是《Spring Cloud Alibaba 实战系列》的所有文章地址:
环境信息
操作系统:CentOS Linux release 7.6.1810
Docker:1.13.1, build b2f74b2/1.13.1
docker-compose:1.24.1, build 4667896
jdk:1.8.0_191
maven:3.6.0
源码下载
如果您不打算写代码,也可以从 GitHub 上下载本次实战的源码,地址和链接信息如下表所示:
这个 git 项目中有多个文件夹,本章的应用在 nacosdemo 文件夹下,如下图所示,nacosdemo 文件夹下的 configdemo 就是本文对应的项目源码:
springboot 应用开发
基于 maven 创建名为 nacosdemo 的 springboot 应用,pom.xml 内容如下:
上述 pom.xml 文件有两点要注意:a. 添加依赖 spring-cloud-starter-alibaba-nacos-config ;b. 为了生成 docker 镜像,使用 jib 插件;
在 src\main\resources 这个目录下,将原有的 application.properties 或者 application.yml 都删除干净,只保留一个名为 bootstrap.properites 的文件,内容如下所示:
创建启动类 ConfigdemoApplication.java,增加一个注解 EnableDiscoveryClient:
创建一个 Controller 类 ConfigController.java,用于提供一个 http 服务,返回的内容来自配置信息,如果能使用 Nacos 提供的配置服务,这里返回的应该是在 Nacos 上配置的内容:
上述代码有两处需要注意:a. RefreshScope 注解用于声明配置信息变化后立即同步至此;b. desc 变量的值来自 @Value 注解,如果无法从 Nacos 取得"bolingcavalry.desc"对应的值,desc 的值就是默认的"desc from code";
以上就是 configdemo 的所有源码了,在 pom.xml 所在目录执行以下命令,即可构建 docker 镜像,存入本地仓库:
将镜像推送到 hub.docker.com,这样大家都可以下载此镜像来用了:
现在镜像文件已经准备好了,接下来做容器编排;
容器编排
创建 docker-compose.yml 文件,如下所示,nacos 我们在前面的章节已经介绍过了,是 nacos server 作成的镜像,config-demo 是刚才构建好的 springboot 应用镜像:
至此,上一篇实战所需的源码和配置就全部介绍完毕,在您着手 nacos 配置服务开发的时候,希望本文能给您提供一些参考。
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/97fcaa04524989a5ff17d8053】。文章转载请联系作者。
评论