2016-04-29 24 views
6

Tôi sử dụng docker soạn để chạy tất cả các dịch vụ vi mô của mình. Đối với mỗi dịch vụ, tôi cung cấp cho nó một tên máy chủ ngắn.Đặt cấu hình trên bootstrap.yml trong đám mây mùa xuân để nhắm mục tiêu máy chủ cấu hình khác nhau

version: '2' 

services: 
    config: 
    image: springbox-config-server 
    restart: always 
    ports: 
    - "8890:8890" 

    discovery: 
    image: springbox-eureka 
    restart: always 
    ports: 
    - "8763:8763" 

Do đó, trong dịch vụ vi tính của tôi, tôi phải nhắm mục tiêu đến máy chủ cấu hình có tên máy chủ ngắn.

spring: 
    application: 
    name: myservice 
    cloud: 
    config: 
     uri: http://config:8890 
     fail-fast: true 

Tuy nhiên, khi tôi chạy chúng cục bộ trong IDE mà không có docker, tên máy chủ ngắn không thể giải quyết được.

Vì vậy, tôi đang tìm một giải pháp để nhắm mục tiêu máy chủ cấu hình khác nhau theo môi trường của tôi.

Trả lời

12

Tôi tìm ra giải pháp. Về cơ bản, chúng tôi sử dụng hồ sơ mùa xuân để làm phong phú thêm các tập tin bootstrap. Ví dụ:

spring: 
    application: 
    name: myservice 
    cloud: 
    config: 
     uri: http://config:8890 
     fail-fast: true 

--- 
spring: 
    profiles: development 
    cloud: 
    config: 
     uri: http://localhost:8890 

Tin vui là chúng tôi không phải viết lại tất cả các thuộc tính trong tiểu sử. Các thuộc tính mặc định được kế thừa. Ví dụ, khi hồ sơ phát triển được kích hoạt, tên ứng dụng của tôi được kế thừa từ tên mặc định được gọi là myservice.

Để kích hoạt hồ sơ, hãy bắt đầu dịch vụ với thuộc tính sau đây

-Dspring.profiles.active=development 
Các vấn đề liên quan