【发布时间】:2018-11-13 16:45:27
【问题描述】:
我正在使用 Docker 运行一个简单的 Spring 微服务项目。我有两个项目:lucky-word-client(端口 8080)和 lucky-word-server(端口 8001)。但我无法与服务器通信客户端。事实上,如果 lucky-word-client 与 lucky-word-server 通信,结果是单词“Evviva”,否则单词是“Default”。我的结果始终是“默认”,但我希望客户端与服务器通信时使用“Evviva”一词。
这是两类幸运词客户端:
package asw.springcloud.luckyword;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class LuckyWordApplication {
public static void main(String[] args) {
SpringApplication.run(LuckyWordApplication.class, args);
}
}
package asw.springcloud.luckyword;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Value;
@RestController
public class LuckyWordController {
@Value("${lucky-word}")
private String luckyWord;
@RequestMapping("/lucky-word")
public String luckyWord() {
return "The lucky word is: " + luckyWord;
}
}
这是lucky-word-client的application.properties文件:
# application.properties
# parola fortunata di default (if server is not accessible)
lucky-word=Default
这是lucky-word-client的bootstrap.properties文件:
# bootstrap.properties
spring.application.name=lucky-word
# i profili possibili sono italian e english
spring.profiles.active=italian
# oppure: export SPRING_PROFILES_ACTIVE=italian
spring.cloud.config.uri=http://localhost:8001
这是lucky-word-client的文件Dockerfile:
FROM frolvlad/alpine-oraclejdk8
ADD build/libs/lucky-word-client-0.0.1-SNAPSHOT.jar lucky-word-client.jar
EXPOSE 8080
ENTRYPOINT ["/usr/bin/java", "-Xmx128m", "-Xms128m"]
CMD ["-jar", "-Dspring.profiles.active=italian", "lucky-word-client.jar"]
这是lucky-word-server类:
package asw.springcloud.configserver;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableConfigServer
public class CommonConfigServer {
public static void main(String[] args) {
SpringApplication.run(CommonConfigServer.class, args);
}
}
这是lucky-word-server的application.properties文件:
# application.yml
---
spring:
cloud:
config:
server:
git:
uri: https://github.com/..../
searchPaths: projects/config-data
server:
port: 8001
这是lucky-word-server的Dockerfile文件:
FROM frolvlad/alpine-oraclejdk8
ADD build/libs/common-config-server-0.0.1-SNAPSHOT.jar common-config-server.jar
EXPOSE 8001
ENTRYPOINT ["/usr/bin/java", "-Xmx128m", "-Xms128m"]
CMD ["-jar", "common-config-server.jar"]
【问题讨论】:
标签: spring docker docker-compose dockerfile docker-swarm