基于Python3.9构建自己的Airflow 2.9.3镜像

代码解析

下列代码是一个用于构建 Apache Airflow 2.9.3 Docker 镜像的 Dockerfile,基于 Python 3.9 版本。以下是对每个命令和步骤的详细解释:

  1. 基础镜像选择:

    FROM python:3.9-slim
    

    这行指定 Docker 使用 python:3.9-slim 作为基础镜像。python:3.9-slim 是一个较小体积的镜像,包含了 Python 3.9 的运行环境,适合用作构建更具体应用的基础。

  2. 环境变量设置:

    ENV AIRFLOW_VERSION=2.9.3
    ENV AIRFLOW_HOME=/opt/airflow
    ENV PYTHONUNBUFFERED=1
    ENV PIP_NO_CACHE_DIR=1
    
    • AIRFLOW_VERSION 设置 Airflow 的版本号为 2.9.3。
    • AIRFLOW_HOME 设置 Airflow 的工作目录为 /opt/airflow
    • PYTHONUNBUFFERED 设置为 1 以确保 Python 输出是即时的,并且不会被缓冲。
    • PIP_NO_CACHE_DIR 设置为 1 禁用 pip 缓存,这有助于减小 Docker 镜像的体积。
  3. 安装系统依赖和 Python 包:

    RUN apt-get update && apt-get install -y --no-install-recommends \
        build-essential \
        libssl-dev \
        libsasl2-dev \
        libldap2-dev \
        default-libmysqlclient-dev \
        python3-distutils \
        python3-setuptools \
        && apt-get clean \
        && rm -rf /var/lib/apt/lists/*
    

    这一步使用 apt-get 更新包列表并安装一些必要的系统依赖和 Python 库。这些依赖通常是编译和运行特定 Python 模块(如数据库连接等)所必须的。

  4. 安装 Apache Airflow:

    RUN pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-3.9.txt"
    

    这里通过 pip 安装指定版本的 Apache Airflow,并使用一个版本约束文件以确保所有依赖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值