Spring Cloud Consul和Consul客户端dockerized

问题描述 投票:0回答:1

我有2个应用程序,都使用Spring Boot编写。两者都在不同的Docker容器中运行。我也有领事在另一个Docker容器中运行。我已经使用docker-compose.yml文件将端口8500公开给领事。因此,如何为我的spring boot应用程序指定在哪里注册自己,即领事在哪里运行。是否提供映射端口的地址(映射到本地计算机的端口)或其他更改?

我正在使用的示例:https://github.com/Java-Techie-jt/cloud-consul-service-discovery

spring-boot docker spring-cloud consul spring-cloud-consul
1个回答
0
投票

您可以将注册器用于服务注册。Registrator通过检查容器在线来自动为任何Docker容器注册和注销服务。 Registrator支持可插拔服务注册表,当前包括Consul,etcd和SkyDNS 2。您可以将注册器作为容器运行,它将注册应用程序的每个端口。以下是示例撰写文件:-

  version: '2'
  services:
  registrator:
    image: "${REGISTRY}gliderlabs/registrator:latest"
    command: [
      "-ip=<docker-host-ip>",
      "-retry-attempts", "100",
      "-cleanup",
      # "-internal",
      "consul://vconsul:8500"
    ]

官方文档:https://gliderlabs.github.io/registrator/latest/

© www.soinside.com 2019 - 2024. All rights reserved.