请问一下各位大神,nacos版本升级到2.0.4,本地启动可以注册到nacos后可以读到application.name对应的配置文件,但是通过docker镜像发布的服务虽然注册进去了,可以读到extension-configs:-data-id指定的的配置文件,但是读不到application.name对应的配置文件11月24日 12:15
Nacos 2.0.4版本对配置文件的读取方式进行了一些改变。在2.0.4版本中,需要通过Data ID和Group来读取配置文件,而不是通过Application.Name。
在你的情况下,你可能需要在Nacos中创建一个新的配置文件,Data ID为你需要的配置文件名,Group为DEFAULT_GROUP(默认组)。然后,你的应用就可以通过这个Data ID和Group来读取配置文件了。
另外,需要注意的是,Nacos 2.0.4版本还支持扩展配置,你可以通过Extension-Configs来读取这些扩展配置。这些扩展配置的Data ID和Group需要与普通的配置文件分开,不能混淆。
这个问题可能是由于在Docker容器中,Nacos服务无法正确获取到应用程序的名称。你可以尝试以下方法解决这个问题:
file.extension.config.dir
属性,指向你的配置文件所在的目录。例如:file.extension.config.dir=/path/to/your/config/files
-e
参数,设置环境变量。例如:docker run -d -p 8848:8848 -e NACOS_SERVERS=127.0.0.1:8848 -e NACOS_NAMESPACE=public -e NACOS_APPLICATION=your-application-name your-nacos-image
@Value
注解来获取配置文件中的值。例如:@Value("${your.property.key}")
private String yourProperty;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。