Compose编排Spring Cloud微服务2

 

  • Docker-Compose 来部署一个双节点的 Eureka 集群

 

application.yml

spring:
  application:
    name: microservice-eureka-server-ha
---
spring:
  profiles: peer1 # 指定profile=peer1
server:
  port: 8761
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: ${EUREKA_URL:http://peer2:8761/eureka/} # 将自己注册到peer2这个Eureka上面去
---
spring:
  profiles: peer2
server:
  port: 8762
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: ${EUREKA_URL:http://peer1:8761/eureka/}

  

  • 构建 Eureka 镜像
mvn clean package -DskipTests && mvn dockerfile:build

  

  • 接着我们在根目录开始编写docker-compose.yml文件:
  • version: '3.3'
    services:
      peer1:
        image: microservice-eureka-server:0.0.1-SNAPSHOT
        container_name: eureka-server-peer1
        restart: always
        hostname: peer1
        ports:
          - 8761:8761
        environment:
          spring.profiles.active: peer1
          EUREKA_URL: http://peer2:8762/eureka
      peer2:
        image: microservice-eureka-server:0.0.1-SNAPSHOT
        container_name: eureka-server-peer2
        hostname: peer2
        restart: always
        ports:
          - 8762:8762
        environment:
          spring.profiles.active: peer2
          EUREKA_URL: http://peer1:8761/eureka
    

      

    root@ubuntu:/home/tom/Desktop/3/docker2/findservice# docker-compose up -d
    Starting eureka-server-peer2 ... done
    Starting eureka-server-peer1 ... done