<番外篇>docker 、docker-compose环境部署eureka集群

<番外篇>docker 、docker-compose环境部署eureka集群

1、关于eureka的搭建

详细参考《<一>spring-cloud Hoxton.SR2版 服务注册与发现–eureka搭建以及集群搭建》

这次构建的springboot配置文件如下

server:
  port: 8761
spring:
  application:
    name: badger-spring-cloud-eureka
eureka:
  server:
    enable-self-preservation: true  #关闭自我保护模式(缺省为打开)生产环境需要打开
    eviction-interval-timer-in-ms: 60000 # 续期时间,即扫描失效服务的间隔时间(缺省为60*1000ms)
  client:
    register-with-eureka: true #设置是否将自己作为客户端注册到注册中心(缺省true,单节点设置成false,集群需要互相同步)
    fetch-registry: true # 设置是否从注册中心获取注册信息(缺省true,单节点设置成false,集群需要互相同步)
    serviceUrl: 
        defaultZone: http://172.16.2.54:8761/eureka/,http://172.16.2.54:8762/eureka/,http://172.16.2.54:8763/eureka/  #注册的地址
  instance:
    instance-id: ${spring.cloud.client.ip-address}:${server.port}  #注册中心显示的名称IP:端口  默认 机器主机名:应用名称:应用端口
    prefer-ip-address: true #设置微服务调用地址为IP优先(缺省为false)

2、Dockerfile文件如下;

DockerFile语法,详细参考《dockerFile演示以及语法详解》

FROM openjdk:8-jre

RUN mkdir /app

COPY badger-spring-cloud-eureka-0.0.1-SNAPSHOT.jar /app/

CMD java -jar /app/badger-spring-cloud-eureka-0.0.1-SNAPSHOT.jar

EXPOSE 8761

我的当前上下文路径下,执行构建命令

docker build -t eureka .

3、创建eureka镜像的实例

根据上面的springboot的配置文件,我的eureka的使用的是8761的端口,我的本机ip是172.16.2.54,我的三个eureka的实例的映射物理机的端口分别是8761,8762,8763。

我这边,直接run三个实例,端口分别做映射就可以了

docker run -p 8761:8761 --name eureka_01 -d eureka
docker run -p 8762:8761 --name eureka_02 -d eureka
docker run -p 8763:8761 --name eureka_03 -d eureka

http://localhost:8761/ 查看eureka的启动情况,如图所示,启动完成

4、使用docker-compose部署eureka集群

上述使用传统的docker部署的eureka集群,下面使用docker-compose部署;

关于docker-compose的使用,详细参考《Docker Compose 简介、命令语法和使用演示》

创建docker-compose.yml的文件,写入内容如下

version: '3'
services:
  badger-eureka-1:
    restart: always
    build: .
    container_name: badger-eureka-1
    ports:
      - 8761:8761
  badger-eureka-2:
    restart: always
    build: .
    container_name: badger-eureka-2
    ports:
      - 8762:8761
  badger-eureka-3:
    restart: always
    build: .
    container_name: badger-eureka-3
    ports:
      - 8763:8761

在有docker-compose.yml文件的目录下,使用命令构建

docker-compose up -d

注意:docker-compose.ymlDockerfile以及badger-eureka-0.0.1-SNAPSHOT.jar,在同一个目录下

可以看到,镜像有三个,镜像的ID,却是一样的,这个其实表示,只构建了一个镜像,这个镜像有三个名字,docker其实是一个分层技术。

卸载

docker-compose down
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葵花下的獾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值