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

使用Airflow官方docker-compose启动时触发FileNotFoundError报错

问题描述

在存放Apache Airflow官方标准未修改版docker-compose.yaml的目录下,执行docker-compose -f docker-compose.yaml up -d命令启动服务时,控制台输出报错,完整报错信息如下:

(base) ruslanpilipyuk@MacBook-Pro-Ruslan airflow-local % docker-compose -f docker-compose.yaml up -d 
WARNING: The AIRFLOW_UID variable is not set. Defaulting to a blank string.
Traceback (most recent call last):
  File "urllib3/connectionpool.py", line 670, in urlopen
  File "urllib3/connectionpool.py", line 392, in _make_request
  File "http/client.py", line 1255, in request
  File "http/client.py", line 1301, in _send_request
  File "http/client.py", line 1250, in endheaders
  File "http/client.py", line 1010, in _send_output
  File "http/client.py", line 950, in send
  File "docker/transport/unixconn.py", line 43, in connect
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "requests/adapters.py", line 439, in send
  File "urllib3/connectionpool.py", line 726, in urlopen
  File "urllib3/util/retry.py", line 410, in increment
  File "urllib3/packages/six.py", line 734, in reraise
  File "urllib3/connectionpool.py", line 670, in urlopen
  File "urllib3/connectionpool.py", line 392, in _make_request
  File "http/client.py", line 1255, in request
  File "http/client.py", line 1301, in _send_request
  File "http/client.py", line 1250, in endheaders
  File "http/client.py", line 1010, in _send_output
  File "http/client.py", line 950, in send
  File "docker/transport/unixconn.py", line 43, in connect
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "docker/api/client.py", line 214, in _retrieve_server_version
  File "docker/api/daemon.py", line 181, in version
  File "docker/utils/decorators.py", line 46, in inner
  File "docker/api/client.py", line 237, in _get
  File "requests/sessions.py", line 543, in get
  File "requests/sessions.py", line 530, in request
  File "requests/sessions.py", line 643, in send
  File "requests/adapters.py", line 498, in send
requests.exceptions.ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "docker-compose", line 3, in <module>
  File "compose/cli/main.py", line 81, in main
  File "compose/cli/main.py", line 200, in perform_command
  File "compose/cli/command.py", line 60, in project_from_options
  File "compose/cli/command.py", line 152, in get_project
  File "compose/cli/docker_client.py", line 41, in get_client
  File "compose/cli/docker_client.py", line 170, in docker_client
  File "docker/api/client.py", line 197, in __init__
  File "docker/api/client.py", line 221, in _retrieve_server_version
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
[2128] Failed to execute script docker-compose
故障原因

报错包含两个独立问题:

  • 核心启动失败原因:本地Docker守护进程(Docker daemon)未启动,docker-compose无法通过本地Unix套接字连接Docker服务端,触发文件不存在、连接中断异常,最终拉取Docker服务端版本信息失败,脚本执行终止。
  • 前置警告原因:Airflow官方docker-compose配置依赖AIRFLOW_UID环境变量指定容器内运行用户的UID,当前执行环境未配置该变量,触发默认空值警告。
解决步骤
  • 启动本地Docker服务:Mac设备直接启动Docker Desktop应用,等待顶部菜单栏的Docker图标停止加载动画、显示为稳定运行状态后,执行docker info命令验证,若命令正常返回Docker版本、存储驱动等配置信息,说明Docker服务连接正常。
  • 配置Airflow所需环境变量:在docker-compose.yaml所在目录下执行以下命令,自动生成本地用户UID对应的环境变量配置文件,消除UID未设置的警告:
    echo -e "AIRFLOW_UID=$(id -u)" > .env
    
  • 重新执行启动命令:再次运行原启动命令即可正常拉起Airflow服务:
    docker-compose -f docker-compose.yaml up -d
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 05:27:31