AWS Fargate 在启动时修改 /etc/hosts
AWS Fargate modify /etc/hosts on startup
我正在调用外部 API,唯一的调用方式是当我有主机文件条目时。所以现在我将 ECS Exec 添加到那里。我想自动化它,所以当我自动缩放时,我不必 ECS Exec 在每个任务上添加主机文件条目。
下面是我的任务定义的一部分,其中包含入口点/命令。他们都是空的。我相信我可以使用其中之一来做到这一点,但不是 100% 确定。
"entryPoint": null,
"portMappings": [
{
"hostPort": 8000,
"protocol": "tcp",
"containerPort": 8000
}
],
"command": null,
为了有类似需求的其他人而发布此信息。有 3 种方法可以完成这项工作。
就像评论者指出的 R53 私有托管区域(花钱 + 影响整个 VPC,而不仅仅是你的容器)
创建一个 Startup.sh,它可以具有添加到主机的逻辑,并将其添加为可部署容器的一部分,并使用 DockerFile
调用它
添加 RunStartUp.sh RunStartUp.sh
命令[./RunStartUp.sh"]
在任务定义中使用entryPoint/Command直接添加主机条目json
“入口点”:[
“嘘”,
“-C”
],
“命令” : [
"/bin/sh -c "echo '122.123.423.12 google.com >> \etc\hosts ""
]
我正在调用外部 API,唯一的调用方式是当我有主机文件条目时。所以现在我将 ECS Exec 添加到那里。我想自动化它,所以当我自动缩放时,我不必 ECS Exec 在每个任务上添加主机文件条目。
下面是我的任务定义的一部分,其中包含入口点/命令。他们都是空的。我相信我可以使用其中之一来做到这一点,但不是 100% 确定。
"entryPoint": null,
"portMappings": [
{
"hostPort": 8000,
"protocol": "tcp",
"containerPort": 8000
}
],
"command": null,
为了有类似需求的其他人而发布此信息。有 3 种方法可以完成这项工作。
就像评论者指出的 R53 私有托管区域(花钱 + 影响整个 VPC,而不仅仅是你的容器)
创建一个 Startup.sh,它可以具有添加到主机的逻辑,并将其添加为可部署容器的一部分,并使用 DockerFile
调用它添加 RunStartUp.sh RunStartUp.sh 命令[./RunStartUp.sh"]
在任务定义中使用entryPoint/Command直接添加主机条目json
“入口点”:[ “嘘”, “-C” ], “命令” : [ "/bin/sh -c "echo '122.123.423.12 google.com >> \etc\hosts "" ]