【发布时间】:2021-09-20 16:13:52
【问题描述】:
我在 AWS ECS 中有一个任务,它正在运行服务 (Airflow 2)。我想按照文档中的建议设置运行状况检查,以避免调度程序出现故障。
在我的docker-compose 我有:
scheduler:
image: my-custom-airflow2
command: scheduler
healthcheck:
test: [ "CMD-SHELL", 'airflow jobs check --job-type SchedulerJob --hostname "$${HOSTNAME}"' ]
interval: 10s
timeout: 10s
retries: 5
restart: always
container_name: my-scheduler
build:
context: .
dockerfile: Dockerfile
env_file:
- ./airflow.env
volumes:
- ./database_utils:/database_utils
- ./dags:/opt/airflow/dags
- ./logs:/opt/airflow/logs
depends_on:
- webserver
在我的任务定义中,我有这个:
healthCheck: [
{
retries : 5
command : [
"CMD-SHELL",
"airflow jobs check --job-type SchedulerJob --hostname \"$${HOSTNAME}\""
]
},
],
如何在任务定义中复制 docker-compose 中的重启命令? 目标是如果检查不成功,则终止服务并重新启动新服务。
【问题讨论】:
标签: docker amazon-ecs