docker实战--部署一个spring boot微服务

需求:

把自己搭建的spring cloud模块,服务注册中心使用docker部署启动。实现服务注册和访问。

实现一个简单的分布式 rpc 

准备工作:

安装好docker的阿里云服务器

eureka 微服务jar包

服务提供者(本地启动)

服务调用方(本地启动)

实现步骤:

 

dockerfile准备

通过配置eureka.instance.hostname 和server.port 提供给服务提供方和调用方的访问url.

spring:
  profiles:
    active: pro

---
eureka:
  instance:
    hostname: ***.**.*.*  #服务实例名称  服务器ip
  client:
    healthcheck:
      enabled: true #这个配置必须配置才能启动成功
    register-with-eureka: false #表示是否向eureka注册中心注册自己
    fetch-registry: false  #false 表示自己是注册中心
    service-url:   #表示监控注册地址
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
  port: ****  ##服务注册端口
spring:
  profiles: pro
---
eureka:
  instance:
    hostname: localhost  #服务实例名称
  client:
    healthcheck:
      enabled: true #这个配置必须配置才能启动成功
    register-with-eureka: false #表示是否向eureka注册中心注册自己
    fetch-registry: false  #false 表示自己是注册中心
    service-url:   #表示监控注册地址
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
  port: ****
spring:
  profiles: dev

maven package eureka得到jar包.

在服务器端新建一个临时目录,并把jar上传,

并且新建一个dockerfile用于生成镜像

FROM java:8
ADD blog-eureka-0.0.1-SNAPSHOT.jar /app/eureka.jar
###RUN yum install net-tools
EXPOSE 1000  ##端口号
CMD java -jar /app/eureka.jar

目录:

pull java:8 镜像

docker pull java:8

 生成微服务镜像

docker build -f dockerfile-eureka -t eureka:1.1 .

docker启动 微服务应用

此处-p 后面是宿主机和docker之间的端口映射

docker run -di --name eureka -p ***:*** eureka:1.1 

 此时eureka的管理页面可以访问:

docker实战--部署一个spring boot微服务_第1张图片

 dockers ps查看容器已经启动:

注册服务

只需要修改defaultZone的ip和端口

以前是localhost,因为以前eureka也在本地

eureka:
  client:
    service-url:
      defaultZone: http://ip:port/eureka/  ##eureka服务ip和port ###
    healthcheck:
      enabled: true
  instance:
    instance-id: seckill-platform

服务端全部配置: 

docker实战--部署一个spring boot微服务_第2张图片 可以看到服务已经注册成功:

docker实战--部署一个spring boot微服务_第3张图片

 前台调用

只需要修改此处defaultZone:这就是feign自动寻找服务

eureka:
  client:
    register-with-eureka: false  #不像eureka 注册自己
    service-url:
      defaultZone: http://ip:port/eureka/  ##

调用成功,此处通过eureka调用了后台查询所有秒杀上面的逻辑。

docker实战--部署一个spring boot微服务_第4张图片

 

你可能感兴趣的:(docker)