在AWS Fargate任务中使用空白的Docker基础镜像进行健康检查,并且没有CMD命令的解决方法如下所示:
FROM scratch
docker build -t blank-image .
docker tag blank-image /blank-image:latest
docker push /blank-image:latest
{
"family": "blank-task",
"containerDefinitions": [
{
"name": "blank-container",
"image": "/blank-image:latest",
"essential": true,
"memory": 512,
"portMappings": [
{
"containerPort": 80,
"protocol": "tcp"
}
],
"healthCheck": {
"command": [
"CMD-SHELL",
"exit 0"
],
"interval": 30,
"timeout": 5,
"startPeriod": 60,
"retries": 3
}
}
],
"networkMode": "awsvpc",
"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "256",
"memory": "512",
"tags": [
{
"key": "Name",
"value": "blank-task"
}
]
}
在以上示例中,我们使用了空白的Docker基础镜像,并且健康检查的命令使用了"CMD-SHELL"来执行一个永远返回0的命令,以表示容器是健康的。此外,我们还指定了容器的内存和端口映射等相关信息。
请注意替换示例中的