You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Docker端口配置及Airflow tasks test命令的技术咨询

问题1:Docker中5555/tcp、8793/tcp端口的作用及出现差异的原因

端口作用

  • 5555/tcp:Airflow的Flower监控组件端口,仅当使用CeleryExecutor时生效,用于可视化监控Celery Worker的运行状态、任务队列长度、worker存活情况等。
  • 8793/tcp:Airflow的StatsD Exporter端口,用于收集Airflow内部运行指标(如任务执行时长、调度延迟等),供Prometheus等监控系统抓取,仅当开启StatsD监控配置时启用。

出现/不出现的原因

这些端口属于Airflow的可选功能依赖端口,是否出现在容器配置中取决于以下几点:

  • 部署时的Executor类型:如果用SequentialExecutor或LocalExecutor(无Celery集群),不需要Flower,5555端口不会被暴露。
  • 监控配置是否开启:如果未在airflow.cfg中配置StatsD相关参数(如statsd_on = True),8793端口不会被添加到容器暴露列表。
  • Docker镜像/编排配置:自定义Dockerfile未添加EXPOSE 5555/EXPOSE 8793指令,或docker-compose.yml未映射这些端口,容器启动后也不会显示这些端口。
问题2:执行airflow tasks test命令的容器选择及使用方法

容器选择

优先选择Airflow Worker容器(通常命名为airflow-worker),如果是单节点部署(如用SequentialExecutor),也可以用airflow-webserver或airflow-scheduler容器,但Worker是标准的任务执行容器,更符合测试场景。

使用方法

方式1:进入容器后执行

  1. 先进入目标容器:
docker exec -it airflow-worker bash
  1. 执行测试命令:
airflow tasks test <dag_id> <task_id> <execution_date>

参数说明:

  • <dag_id>:你的DAG定义中的dag_id值
  • <task_id>:DAG中具体任务的task_id值
  • <execution_date>:任务的执行日期,格式为YYYY-MM-DD(如2024-05-20)

方式2:直接在宿主机执行(无需进入容器)

如果用docker-compose部署,可直接运行:

docker-compose exec airflow-worker airflow tasks test <dag_id> <task_id> <execution_date>

注意事项

  • 该命令会跳过任务依赖直接执行单个任务,不会写入任务状态到元数据库,仅用于本地测试。
  • 不要在生产环境频繁使用,避免产生重复数据或干扰正常调度。

内容的提问来源于stack exchange,提问作者ypangalela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 01:10:10