3.SpringCloud-EurekaServer-Docker

首先通过docker命令来手动部署,在本机进行测试,以便熟悉流程。
然后使用maven的docker插件进行配置,以便快速上线。
注:maven插件对docker命令并没有完全支持,可以使用嵌入dockerfile的方式。仓库可以使用docker官方仓库或者自行搭建

1.创建Eureka-server集群
1.1 创建工程,并引入eureka-server,入口类

org.springframework.cloud
spring-cloud-starter-netflix-eureka-server

1.2修改启动application加注解
@EnableEurekaServer
1.3配置文件
application.yml:
spring:
application:
name: eurekaserverdocker
application-eurekaService1.yml
spring:
profiles: eurekaService1
server:
port: 8888
eureka:
instance:
hostname: eurekaService1 # 指定该Eureka实例的主机名
prefer-ip-address: true
client:
serviceUrl: #多个地址使用 , 分隔。
defaultZone: http://eurekaService2:8887/eureka/,http://eurekaService3:8886/eureka/
application-eurekaService2.yml
spring:
profiles: eurekaService2
server:
port: 8887
eureka:
instance:
hostname: eurekaService2 # 指定该Eureka实例的主机名
prefer-ip-address: true
client:
serviceUrl: #多个地址使用 , 分隔。
defaultZone: http://eurekaService1:8888/eureka/,http://eurekaService3:8886/eureka/
application-eurekaService3.yml
spring:
profiles: eurekaService3
server:
port: 8886
eureka:
instance:
hostname: eurekaService3 # 指定该Eureka实例的主机名
prefer-ip-address: true
client:
serviceUrl: #多个地址使用 , 分隔。
defaultZone: http://eurekaService1:8888/eureka/,http://eurekaService2:8887/eureka/
2.使用docker手动部署(后续会加入使用Maven插件方式部署)
2.1 创建文件夹,加入工程的jar包,以及Dockerfile:
FROM openjdk:8u131-jdk-alpine

MAINTAINER gaojingyuan

将指定的jar文件复制到容器中

COPY eurekaserverdocker-0.0.1-SNAPSHOT.jar /usr/local/

执行jar文件

ENTRYPOINT [“java” ,”-jar”,”/usr/local/eurekaserverdocker-0.0.1-SNAPSHOT.jar”]
注:这里也可以配置为centos,通过配置安装java
FROM centos

MAINTAINER gaojingyuan

安装应用执行的环境java

RUN yum -y install java

将指定的jar文件复制到容器中

COPY eurekaserverdocker-0.0.1-SNAPSHOT.jar /usr/local/

执行jar文件

ENTRYPOINT [“java” ,”-jar”,”/usr/local/eurekaserverdocker-0.0.1-SNAPSHOT.jar”]
但是通过对比可以看出占用空间相差较多
REPOSITORY TAG IMAGE ID CREATED SIZE
gaojingyuan/eurekacluster latest b126393b43e1 10 seconds ago 146MB
gaojingyuan/eurekaserver latest 30d0a7cc0d47 2 weeks ago 483MB

2.2 构建image
docker build -t gaojingyuan/eurekacluster .

2.3 定义 docker-compose.yml
version: “3”
services:
eurekaService1: # 默认情况下,其他服务可以使用服务名称连接到该服务。因此,对于peer2的节点,它需要连接http://peer1:8761/eureka/,因此需要配置该服务的名称是peer1。
image: gaojingyuan/eurekacluster
networks:
- eureka-net
ports:
- “8888:8888”
environment:
- spring.profiles.active=eurekaService1
eurekaService2:
image: gaojingyuan/eurekacluster
networks:
- eureka-net
ports:
- “8887:8887”
environment:
- spring.profiles.active=eurekaService2
eurekaService3:
image: gaojingyuan/eurekacluster
networks:
- eureka-net
ports:
- “8886:8886”
environment:
- spring.profiles.active=eurekaService3
networks:
eureka-net:
driver: overlay

2.4初始化蜂群并启动服务
docker swarm init
docker stack deploy -c docker-compose.yml eurekacluster

浏览器查看http://localhost:8888/ http://localhost:8887/ http://localhost:8886/
可以看到配置成功

2.5 查看及删除服务
docker service ls
docker stack rm eurekacluster

docker-machine env
export DOCKER_TLS_VERIFY=”1”
export DOCKER_HOST=”tcp://192.168.99.100:2376”
export DOCKER_CERT_PATH=”/Users/jionglu/.docker/machine/machines/default”
export DOCKER_MACHINE_NAME=”default”

Run this command to configure your shell:

eval $(docker-machine env)

参考:
com.spotify
https://github.com/spotify/docker-maven-plugin
译文:https://www.jianshu.com/p/3b91b8958c3e
http://www.troylc.cc/spring-cloud/2017/03/01/spirng-cloud-eureka.html
https://blog.csdn.net/fenglailea/article/details/78528766
io.fabric3
https://github.com/fabric8io/docker-maven-plugin
https://dmp.fabric8.io/#docker:build
https://blog.csdn.net/wangfei0904306/article/details/72650381
docker开启远程访问
https://www.cnblogs.com/zqifa/p/linux-docker-3.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值