在 Spring Boot 应用中,使用 Nacos 作为配置中心或服务发现,如果你想在 Docker 中运行并修改 Nacos 的 IP 配置,可以通过环境变量来实现。
在 Spring Boot 中,使用 Nacos 通常通过以下属性来配置:
‘spring.cloud.nacos.config.server-addr’
‘spring.cloud.nacos.discovery.server-addr’
在 Docker 运行命令中,可以使用 -e 或 --env 选项设置这些环境变量,如下:
docker run -e SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=yourNacosServerAddr \
-e SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR=yourNacosServerAddr \
-p 8080:8080 my-spring-boot-app
这里的 yourNacosServerAddr 应该替换为你的 Nacos 服务器地址,格式是 ip:port。my-spring-boot-app 应该替换为你的 Spring Boot Docker 镜像名称。
需要注意的是,环境变量名应该遵循一定的规则,例如把原始配置的 . 替换为 _,并且全部大写。所以 spring.cloud.nacos.config.server-addr 变成了 SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR。
另外,如果你的 Spring Boot 应用和 Nacos 服务器都在同一个 Docker 网络中,那么 Nacos 的地址可以直接使用 Docker 服务名称,而不必是具体的 IP 地址。
例如:
docker run -d -e SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR=172.26.20.32:8848 -e SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR=172.26.20.32:8848 -p 9201:9201 --name ruoyi-system system