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

如何将Eureka服务ip传递给运行在docker容器中的java应用程序?

马博学
2023-03-14

我在集群环境中的docker容器中运行了大量java和python服务。我使用Eureka进行服务发现,它在本地运行良好,在应用程序配置文件中硬编码了Eureka ip地址。我对Eureka service for Java services的灵活配置有问题—带有这些服务的docker容器将部署在三个环境中,其中Eureka将具有不同的ip地址。是否有一种方法可以使用例如JVM环境变量传递Eureka URI?

或者,如果将URI作为应用程序参数传递,如何将其传播到Eureka客户端配置?

PS:我使用AWS ECS,由于服务数量和现有AWS限制,我无法将所有docker容器放在单个任务定义中,无法使用docker名称解析和硬编码Eureka主机名,另一方面,我可能有多个Eureka实例,并希望指定应使用哪一个特定容器。

共有1个答案

汲灿
2023-03-14

对此我的问题的答案是使用配置服务器,这种野兽的描述可以在这里找到https://dzone.com/articles/using-spring-config-server.

 类似资料:
  • 我在azure中有一个运行docker容器的应用程序服务。 日志显示它正在使用下面的docker run命令运行。我隐藏了一些私人公司的价值观。 docker run-d-p 4040:443--name hidden-e WEBSITE\u SITE\u name=hidden-e WEBSITE\u AUTH\u ENABLED=False-e PORT=443-e WEBSITE\u ROL

  • 问题内容: 我是Docker的新手,目前尚不清楚如何从容器访问外部数据库。硬编码连接字符串的最佳方法是吗? 问题答案: 您可以使用该标志将环境变量传递到您的容器。 启动脚本的示例: 或者,如果您不希望在命令行中使用,等显示该值,则可以直接从当前环境中获取该值,如果您不带: 如果您有许多环境变量,尤其是要保密的话,可以使用env文件: --env-file标志将文件名作为参数,并期望每行采用VAR

  • 我是Docker的新手,不清楚如何从容器访问外部数据库。是在连接字符串中硬编码的最佳方法吗?

  • 我正在测试一些与比特币相关的代码,为了测试它,我在docker容器中安装了比特币测试网盒。 我使用这个指南:https://registry.hub.docker.com/u/freewil/bitcoin-testnet-box/ 我没有任何问题地拉和运行码头工人。 但是,我无法编辑其目录中的bitcoin.conf文件,因为我没有安装像NANO这样的编辑器。 我想: 但它不起作用。我该怎么解决

  • Dockerfile文件 docker撰写。yml 我发射的命令是为了让这个起来 docker-compose-fdocker-compose.yml 之后我去了https://localhost:3000这个项目没有加载。这是可复制的回购协议https://github.com/reyanshmishra/My-Portfolio-ReactJS 谢啦