読者です 読者をやめる 読者になる 読者になる

Spring Cloud Config Clientを作って動かしてみる

Spring

今日はこれの続き。Config Serverを作って動かすことができたので、今度はConfig Clientを作って動きをみてみる。Config Serverから情報を取ってきて使うアプリってことね。

bufferings.hatenablog.com

Config Client

こちらを参考にして↓
Spring Cloud Configで動的コンフィギュレーション管理 - BLOG.IK.AM

こんな感じで作った↓
https://github.com/bufferings-sandbox/config-client

bootstrap.yml

spring:
  application:
    name: foo
  cloud:
    config:
      uri: http://localhost:8888

server:
  port: 8080

ConfigClientApplication.java

@SpringBootApplication
@RestController
public class ConfigClientApplication {

  @Value("${value1:World!}")
  String value1;

  @RequestMapping("/")
  String home() {
    return "Hello " + value1;
  }

  public static void main(String[] args) {
    SpringApplication.run(ConfigClientApplication.class, args);
  }
}

ローカルで動かしてみる

Config Serverは、この前DockerImage作ってるから、それ使おうか。

$ docker run --rm -p 8888:8888 bufferings/config

でClientを実行!

$ mvn spring-boot:run

f:id:bufferings:20160929201724p:plain

読めてるー。envエンドポイントでも見とく。

f:id:bufferings:20160929201739p:plain

(∩´∀`)∩ワーイ

DockerHubにpush

このまえの.travis.ymlをコピーしてTravisの設定してビルドしてDockerhubに自動push。

https://hub.docker.com/r/bufferings/config-client/

Docker2つで動かしてみる

$ docker run --rm -p 8888:8888 bufferings/config
$ docker run --rm -p 8080:8080 bufferings/config-client

f:id:bufferings:20160929210050p:plain

あれ?読めてない。

あー。Docker同士の通信だから、ネットワークの連携とかしないとなのかな。

また、その辺どうするのがいいか考えてみる。