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

如何在Docker Compose中设置Airflow Worker公共主机名解决日志读取失败

Airflow日志读取错误:域名解析临时失败

用Docker Compose部署Airflow v2.6.3时,碰到日志读取报错:Airflow: Could not read served logs: [Errno -3] Temporary failure in name resolution。

为了设置Airflow Worker的公共主机名,我已经试过这些操作:

  • 配置HOSTNAME环境变量
  • 在docker-compose里设置hostname字段
  • 把启动命令改成celery worker -H ${HOSTNAME}

现在Flower里Celery Worker的名字已经正确显示为主机名,但任务实例详情里还是显示Docker容器ID,导致Airflow UI没法访问独立Docker服务器上的Worker日志。

我的docker-compose配置片段如下:

airflow-worker:
    <<: *airflow-common
    command: celery worker -H ${HOSTNAME}
    hostname: ${HOSTNAME}
    healthcheck:
      test:
        - "CMD-SHELL"
        - 'celery --app airflow.executors.celery_executor.app inspect ping -d "celery@$${HOSTNAME}"'
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 30s
    environment:
      <<: *airflow-common-env
      # 确保Celery Worker可以正常优雅关闭
      DUMB_INIT_SETSID: "0"
      HOSTNAME: ${HOSTNAME}
    restart: always

问题出在任务实例详情里的主机名显示(当前显示为容器ID),需要修改这个字段的值来解决日志读取的域名解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:52:32