docker-compose 完整打包发布, 多服务,多节点SPRING CLOUD ,EUREKA 集群

此页面是否是列表页或首页?未找到合适正文内容。

docker-compose 完整打包发布, 多服务,多节点SPRING CLOUD ,EUREKA 集群

标签:aseinvoiceetcblerouteasioutipalease

这里不再使用 端口映射的方式,因为不同主机上,Feign 根据 docker hostname访问会有问题.

把打包的好jar copy到docker镜像里

有几个服务,就复制几个dockerfile

Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/laizhenwei/jre:8u144

#
MAINTAINER zhenweilai <181282945@qq.com>

COPY jar /usr/local

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \\
echo ‘Asia/Shanghai‘ >/etc/timezone

开启两个eureka,互相注册

开启两个api服务,

开启两个app服务.

开启一个zuul路由服务

docker-compose

version: ‘2‘
services:
eureka_master:
build: eurekaserver
network_mode: \”host\”
command: java -jar /usr/local/eurekaserver.jar –spring.profiles.active=test –eureka.instance.hostname=eureka1 –eureka.instance.other-hostname=eureka2 –server.port=8000 –eureka.instance.other-port=8001
volumes:
– /usr/local/microservice/log:/usr/local/microservice/log
restart: always

eureka_backup:
build: eurekaserver
network_mode: \”host\”
command: java -jar /usr/local/eurekaserver.jar –spring.profiles.active=test –eureka.instance.hostname=eureka2 –eureka.instance.other-hostname=eureka1 –server.port=8001 –eureka.instance.other-port=8000
volumes:
– /usr/local/microservice/log:/usr/local/microservice/log
restart: always

api_8070:
build: api
network_mode: \”host\”
command: java -jar /usr/local/api.jar –spring.profiles.active=test –server.port=8070
depends_on:
– eureka_master
– eureka_backup
volumes:
– /usr/local/microservice/log:/usr/local/microservice/log
restart: always

api_8071:
build: api
network_mode: \”host\”
command: java -jar /usr/local/api.jar –spring.profiles.active=test –server.port=8071
depends_on:
– eureka_master
– eureka_backup
volumes:
– /usr/local/microservice/log:/usr/local/microservice/log
restart: always

router:
build: router
network_mode: \”host\”
command: java -jar /usr/local/router.jar –spring.profiles.active=test –server.port=8088
depends_on:
– eureka_master
– eureka_backup
volumes:
– /usr/local/microservice/log:/usr/local/microservice/log
restart: always

app_8060:
build: app
network_mode: \”host\”
command: java -jar /usr/local/app.jar –spring.profiles.active=test –server.port=8060
depends_on:
– eureka_master
– eureka_backup
volumes:
– /usr/local/microservice/log:/usr/local/microservice/log
restart: always

app_8080:
build: app
network_mode: \”host\”
command: java -jar /usr/local/app.jar –spring.profiles.active=test –server.port=8080
depends_on:
– eureka_master
– eureka_backup
volumes:
– /usr/local/microservice/log:/usr/local/microservice/log
restart: always

应用application.yml,注册到两个eureka

eureka:
instance:
appname: app
instance-id: ${spring.cloud.client.ipAddress}:${server.port}
#续约更新时间间隔
lease-renewal-interval-in-seconds: 10
#续约到期时间
lease-expiration-duration-in-seconds: 30
client:
serviceUrl:
defaultZone: http://username:password@eureka1:8000/eureka/,http://username:password@eureka2:8001/eureka/

eureka application.yml

eureka:
instance:
hostname: localhost
other-port: 8001
other-hostname: backup
appname: eureka-server
instance-id: ${spring.cloud.client.ipAddress}:${server.port}
lease-expiration-duration-in-seconds: 5
server:
#关闭自我保护
enable-self-preservation: false
#5秒清理一次
eviction-interval-timer-in-ms: 5
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://username:password@${eureka.instance.other-hostname}:${eureka.instance.other-port}/eureka/

输入命令:docker-compose up –build -d

Step 1/4 : FROM registry.cn-hangzhou.aliyuncs.com/laizhenwei/jre:8u144
—> 1b97d252ae81
Step 2/4 : MAINTAINER zhenweilai <181282945@qq.com

作者: 番茄花园

为您推荐

返回顶部