Eureka Server配置
yml
server:
port: ${PORT:8802}
spring:
application:
name: eureka-server
eureka:
client:
fetch-registry: true
register-with-eureka: ${REGISER_WITH_EUREKA:true}
service-url:
defaultZone: ${EUREKA_SERVER_URL:http://peer1:8802/eureka/}
registry-fetch-interval-seconds: 10 #单位:s 为了缓解服务列表的脏读问题
server:
eviction-interval-timer-in-ms: 10000 #单位ms 清理增量队列中过期的频率
renewal-percent-threshold: 0.85 #续约百分比 超过85%的应用没有和你续约 那么eureka会保护服务 不会剔除任何一个服务
instance: #实例配置
instance-id: ${eureka.instance.hostname}:${spring.application.name}:${server.port} #主机名称:应用名称:端口
hostname: ${HOSTNAME}
prefer-ip-address: true #以ip的形式显示具体的服务信息
lease-renewal-interval-in-seconds: 5 #单位:s 服务实例的续约时间间隔
将项目打包成 docker镜像
将eureka-server项目build之后,将 build/libs 下的 eureka-server-0.0.1-SNAPSHOT.jar jar包覆知道 项目根目录下的 docker 文件夹中,并且在 docker 文件夹下新增 Dockerfile 文件,文件内容为以下配置信息
dockerfile
FROM openjdk:8
ENV workdir=/Users/chenyuwu/workspace/eureka-server/docker
COPY .. ${workdir}
WORKDIR ${workdir}
EXPOSE 8802
CMD ["java","-jar","eureka-server-0.0.1-SNAPSHOT.jar"]
接着在当前目录下运行:
sshell
cd .. && docker build ./docker -t eureka-server:1.0
通过 docker-compose 运行 打包好的 eureka-server docker镜像
yml
version: '3'
services:
eureka-server-01:
image: eureka-server:1.0
restart: always
container_name: "01"
ports:
- 8802:8802
environment:
EUREKA_SERVER_URL : http://localhost:8802/eureka/
HOSTNAME: peer1
privileged: true