当前位置: 首页 > 知识库问答 >
问题:

无法在Docker中链接Consor和Spring Boot应用程序

陆寒
2023-03-14

我有一个Spring Boot应用程序与以下配置:

spring:
  thymeleaf:
    cache: false
  cloud:
    consul:
      host: consul
      port: 8500
      discovery:
        prefer-ip-address: true
        instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}

我希望与docker compose一起运行(docker 1.11.2,docker compose 1.7.1):

consul:
  image: progrium/consul:latest
  container_name: consul
  hostname: consulhost
  ports:
    - "8400:8400"
    - "8500:8500"
    - "8600:53"
  command: "-server -bootstrap-expect 1 -ui-dir /ui"

collector-server:
  container_name: collector-server
  image: io.thesis/collector-server
  ports:
    - "9090:9090"
  links:
    - consul:consul

不幸的是,这不起作用,我得到:com。埃克维德。领事运输例外:java。网ConnectException:连接被拒绝。

我完全不知道为什么它不能连接到Consul,因为我可以通过这种方式连接到其他系统,例如其他应用程序中的Rabbitmq。

谢谢你的任何想法!

共有1个答案

宰父俊彦
2023-03-14

如果您试图在容器启动时立即连接,则Consor可能尚未准备好接收连接。

您需要编写入口点脚本以等待连接可用,甚至只需重试连接几次。看见https://docs.docker.com/compose/startup-order/ 了解更多信息。

 类似资料:
  • 我有两个docker容器,它们通过以下命令运行: > docker run——name postgres-v“/Users/xxx/Desktop/Coding/DockerMounting”:/home/-e postgres_PASSWORD=xyz-d postgres docker run-it-v“/Users/xxx/Desktop/Coding/DockerMounting”:/ho

  • 我是新来的docker和有一个简单的DW(dropwizard)应用程序连接到elasticsearch,其中已经运行在docker使用docker-compose.yml,其中有以下内容。 弹性搜索的Docker-compose.yml 注意:我将8200和8300公开为主机(本地mac系统)上的ES端口 现在,当我在本地主机上运行连接到8200中ES的DW应用程序时,一切都正常了,但现在我正在

  • 我是码头工人的新手。我用的是Spring boot微服务。它在我的本地机器上运行良好。现在,我需要为我的应用程序创建一个docker图像。它依赖于Mysql服务器。我使用docker-compose来创建我的容器。在运行我的自定义映像(spring boot应用程序)时,我收到一个通信链接失败错误。Mysql镜像独立运行良好。 我的 yml 文件 : 应用程序属性文件 : 完整的错误消息: spr

  • 我正在尝试使用领事作为发现服务,和另外两个Spring启动应用程序注册与领事;把它们放进码头; 以下是我的代码:app: 除了spring boot application.yml和docker-compose.yml之外,下面是app的Dockerfile 开始的时候.sh

  • 我正在尝试在STS中创建一个默认的Spring Boot应用程序。它在STS文件中创建了一个“Spring starter Project”-->。创建项目后未进行任何更改。错误立即显示在POM文件中...

  • 尝试使用主连接字符串和用户名(数据库名)连接到cosmosdb Mongo API 原因:com.mongodb.mongotieoutexception:在等待与com.mongodb.client.internal.mongoclientdelegate$1@3C291AAD匹配的服务器时,在30000 ms后超时。群集状态的客户端视图是{type=replica_set,servers=[{