info

What is Nacos

version: 2.0.2

docker pull nacos/nacos-server:2.0.2

一、通过 Nacos Open API 获取命名空间列表

https://nacos.io/en-us/docs/open-api.html

# https://nacos.io/en-us/docs/v2/guide/user/auth.html
# login to get accessToken
curl -X POST '127.0.0.1:8848/nacos/v1/auth/login' -d 'username=nacos&password=nacos'
-- get all namespaces do not need login
curl -X GET "http://nacos-server:8848/nacos/v1/console/namespaces"

-- page query configurations in namespace xxx
-- this url is obtained from nacos console page
curl -X GET "http://nacos-server:8848/nacos/v1/cs/configs?dataId=&group=&appName=&config_tags=&pageNo=1&pageSize=10&tenant=NAMESPACE_ID&search=accurate&accessToken=TOKEN&username=USERNAME"

springboot+nacos

在springboot+nacos应用中配置metadata,便于在nacos管理端看到服务的ip,灰度发布时很有用。两种方式。适用于任何应用。

-Dspring.cloud.nacos.discovery.metadata.host_public_ip=公网ip

--spring.cloud.nacos.discovery.metadata.host_private_ip=内网ip

docker run -e JAVA_TOOL_OPTIONS="-Ddubbo.provider.register=false -Ddubbo.provider.export=false -Dserver.port=38000" -e DUBBO_IP_TO_REGISTRY=注册到dubbo的ip -e DUBBO_PORT_TO_REGISTRY=注册到dubbo的port -e DUBBO_PORT_TO_BIND=注册到dubbo的port -e SPRING_CLOUD_NACOS_DISCOVERY_IP=注册到nacos的ip --name 容器名称 -p 38000:38000 -p 注册到dubbo的port:注册到dubbo的port  -d 容器镜像名称或地址 --spring.profiles.active=test --spring.cloud.nacos.discovery.metadata.host_public_ip=公网ip --spring.cloud.nacos.discovery.metadata.host_private_ip=内网ip --spring.cloud.nacos.discovery.metadata.spring_boot_version=2.5.6

说明:注册到nacos的节点默认是以ip:port作为唯一判断的。即若有两个服务的spring.application.name和SPRING_CLOUD_NACOS_DISCOVERY_IP和server.port都一样,后者会覆盖掉前者,导致消费者看不到。但是服务只是在nacos的服务列表中不显示,还是能正常提供服务的。

作者:张三  创建时间:2025-06-03 13:54
最后编辑:张三  更新时间:2026-01-07 11:52