首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS Fargate主机名不可行?

问AWS Fargate主机名不可行?
EN

Stack Overflow用户
提问于 2018-03-31 21:44:56
回答 3查看 4.4K关注 0票数 7

我正在尝试建立一个简单的应用程序。它是从https://budgetapp.docsapp.io/拖出来的,打算在公共场合工作。我的任务是以最自动化的方式部署它,并将java机器的指标公开给公众(远程jConsole)。最终,它应该站在大约15份确切的副本。

对于这个任务,我选择了AWS Fargate。它非常漂亮地设置了这个应用程序,它还给我管理端口上的Metrics (它是由Dropwizard部署的)。我挣扎的是监视。它应该是真实的,并显示至少CPU和mem的使用。我可以在码头上做这件事,但法尔盖特错过了一件关键的事情。为已部署的任务设置主机名。

我得到的错误:Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: 578463faab0f: 578463faab0f: System error。这是由于/etc/host文件中缺少带有容器的uname -n的条目。好像我不能设置它!这是可能的吗?

我正在像这样运行java服务:java -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -Djava.rmi.server.useLocalHostname=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.rmi.port=5000 -jar budgetapp.jar server config.yml

我很乐意接受任何建议!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-05 09:37:31

谢谢你的帮助。最后的答案是我在网上读到的东西和这里的答案的结合。

关键是将java.rmi.server.hostname值更改为其外部IP地址,这是我在填写jConsole表单时将使用的实际地址。(这个值不是绑定服务的接口,而是外部监视工具用来访问它的IP地址的值。)

此外,在entrypoint中,我需要向容器的主机名添加一个外部IP,只是为了将主机名添加到/etc/host

票数 0
EN

Stack Overflow用户

发布于 2018-03-31 22:12:52

这是ecs代理中已知的问题。你试过这样做作为解决办法吗?

代码语言:javascript
复制
echo "$(ip a | grep -A2 eth1 | grep inet | awk '{print $2}' | sed 's#/.*##g' ) $(hostname)" >> /etc/hosts

您可以在容器的入口点获取ip并修改/etc/host。

我相信在它的路上有一个ecs代理修复程序,但是我在GitHub上找不到问题。

票数 2
EN

Stack Overflow用户

发布于 2019-06-04 18:33:26

我在ECS Fargate上遇到了同样的问题,它的代码在docker和CI/CD管道中工作得很好。我还没有一个引导脚本,所以这是一个小的工作,集成罗伊的解决方案。

以下是对我起作用的东西:

  1. 创建一个ecs_bootloader.sh shell脚本到一个已经被复制到映像中的目录(在我的例子中是bin):
代码语言:javascript
复制
#!/bin/bash

echo "$(ip a | grep -A2 eth1 | grep inet | awk '{print $2}' | sed 's#/.*##g' ) $(hostname)" >> /etc/hosts

#My command here:
python bin/run_all.py

修改我的ECS任务定义,将入口点和命令更改为:

代码语言:javascript
复制
ENTRYPOINT: bin/ecs_bootstrap.sh
COMMAND:    bin/run_all.py

备注:

  • 可以通过从ecs_bootstrap.sh脚本调用命令来改进这一点。(当前,引导脚本忽略了命令。)
  • 因为我已经将bin文件夹复制到容器中,所以不必修改我的Dockerfile。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49592709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档