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

如何在apache/airflow:2.1.4 Docker镜像中安装geckodriver和Firefox

解决方案

你可以直接修改现有Dockerfile,添加Firefox和geckodriver的安装逻辑,完整Dockerfile参考如下:

FROM apache/airflow:2.1.4

# 切换到root用户安装系统依赖
USER root

# 安装Firefox及相关依赖
RUN apt-get update && \
    apt-get install -y --no-install-recommends firefox-esr wget bzip2 && \
    rm -rf /var/lib/apt/lists/*

# 安装对应版本的geckodriver,这里以v0.33.0为例,可根据实际需要调整版本
RUN GECKODRIVER_VERSION=v0.33.0 && \
    wget https://github.com/mozilla/geckodriver/releases/download/$GECKODRIVER_VERSION/geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz && \
    tar -xzf geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz && \
    mv geckodriver /usr/local/bin/ && \
    chmod +x /usr/local/bin/geckodriver && \
    rm geckodriver-$GECKODRIVER_VERSION-linux64.tar.gz

# 切回默认的airflow用户
USER airflow

WORKDIR /python_dependencies
COPY ./requirements.txt .
RUN pip3 install -r requirements.txt
额外注意事项
  • 你的requirements.txt需要包含selenium依赖,版本建议和geckodriver、Firefox版本适配,避免出现兼容性问题
  • Airflow任务中调用Selenium时必须开启无头模式,否则会因为容器无图形界面报错,初始化示例参考:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
driver = webdriver.Firefox(options=options)
  • 重新构建镜像后再启动Airflow服务即可解决找不到Firefox的报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:57:04