【问题标题】:How do I install gecko driver and firefox on my docker image apache/airflow:2.1.4如何在我的 docker 映像 apache/airflow:2.1.4 上安装 gecko 驱动程序和 firefox
【发布时间】:2021-11-28 01:34:35
【问题描述】:

我正在尝试在我的一项气流任务中使用 Selenium。我在apache/airflow:2.1.4 docker 镜像上运行气流。

在气流任务中使用 selenium 时出现以下错误(因为我缺少 firefox) FileNotFoundError: [Errno 2] No such file or directory: 'firefox': 'firefox'

如何将 geckodriver 和 firefox 添加到气流图像?

我有我的docker-compose 为气流构建以下Dockerfile,

FROM apache/airflow:2.1.4
WORKDIR /python_dependencies
COPY ./requirements.txt .
RUN pip3 install -r requirements.txt

【问题讨论】:

    标签: docker selenium selenium-webdriver firefox airflow


    【解决方案1】:

    apache/airflow:2.1.4是基于debian的,所以你只需要使用apt-get install firefox-esr来获取firefox command,同时从geckodriver github下载预编译的二进制文件来安装geckodriver。

    Dockerfile:

    FROM apache/airflow:2.1.4
    
    USER root
    RUN apt-get update                             \
     && apt-get install -y --no-install-recommends \
        ca-certificates curl firefox-esr           \
     && rm -fr /var/lib/apt/lists/*                \
     && curl -L https://github.com/mozilla/geckodriver/releases/download/v0.30.0/geckodriver-v0.30.0-linux64.tar.gz | tar xz -C /usr/local/bin \
     && apt-get purge -y ca-certificates curl
    USER airflow
    

    验证:

    $ docker build -t abc:1 .
    $ docker run --rm -it --entrypoint=which abc:1 firefox
    /usr/bin/firefox
    $ docker run --rm -it --entrypoint=which abc:1 geckodriver
    /usr/local/bin/geckodriver
    

    【讨论】:

      猜你喜欢
      • 2016-09-28
      • 1970-01-01
      • 2023-01-13
      • 2019-01-26
      • 2021-11-26
      • 2020-09-21
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      相关资源
      最近更新 更多