在spring云中的bootstrap.yml上设置configuration文件,以定位不同的configuration服务器
我使用docker撰写来运行我所有的微服务。 对于每个服务我给它一个简短的主机名。
version: '2' services: config: image: springbox-config-server restart: always ports: - "8890:8890" discovery: image: springbox-eureka restart: always ports: - "8763:8763"
因此,在我的微服务中,我必须以其简短的主机名来定位configuration服务器。
spring: application: name: myservice cloud: config: uri: http://config:8890 fail-fast: true
但是,当我在没有docker的IDE中本地运行它们时,无法parsing短主机名。
所以我正在寻找一个解决scheme,根据我的环境定位不同的configuration服务器。
我find解决scheme。 基本上,我们使用springconfiguration文件来丰富bootstrap文件。 例如
spring: application: name: myservice cloud: config: uri: http://config:8890 fail-fast: true --- spring: profiles: development cloud: config: uri: http://localhost:8890
好消息是,我们不必重写configuration文件中的所有属性。 默认属性是inheritance的。 例如,当开发configuration文件启用时,我的应用程序名称是从默认的名称always myserviceinheritance。
要激活configuration文件,请使用以下属性启动该服务
-Dspring.profiles.active=development
- 已经创build了名称为panamax-vm的不同虚拟机
- Socket.io,连接到docker容器内的socket
- Docker – 几个页面重新加载后,Mysqlclosures
- docker on RHEL – 错误:软件包:policycoreutils-python-2.5-8.el7.x86_64(rhel-7-server-rpms)
- 如何强制删除docker图像影响使用它的现有容器
- 弹性search过程的最大文件描述符太低,增加到至less
- 如何从symfony ymlconfiguration文件中获取docker的envvariables
- 无法在Windows上的Docker中拉取图像
- 如何在Docker中链接容器?