Namespace
apache
Image / Tag
airflow:3.0.5rc1-python3.12
Content Digest
sha256:01fdbd1cd546384aa8da3a80234a49e7937f4c77228c54b887fe2a40b50b9668
Details
Created

2025-08-13 16:48:46 UTC

Size

591 MB

Content Digest
Labels
  • org.apache.airflow.component
    airflow
  • org.apache.airflow.distro
    debian
  • org.apache.airflow.image
    airflow
  • org.apache.airflow.main-image.build-id
  • org.apache.airflow.main-image.commit-sha
    52083d0509206be8ffcd56572bce3eb10e5f0009
  • org.apache.airflow.module
    airflow
  • org.apache.airflow.uid
    50000
  • org.apache.airflow.version
    3.0.5rc1
  • org.opencontainers.image.authors
    dev@airflow.apache.org
  • org.opencontainers.image.created
  • org.opencontainers.image.description
    Reference, production-ready Apache Airflow image
  • org.opencontainers.image.documentation
    https://airflow.apache.org/docs/docker-stack/index.html
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.ref.name
    airflow
  • org.opencontainers.image.revision
    52083d0509206be8ffcd56572bce3eb10e5f0009
  • org.opencontainers.image.source
    https://github.com/apache/airflow
  • org.opencontainers.image.title
    Production Airflow Image
  • org.opencontainers.image.url
    https://airflow.apache.org
  • org.opencontainers.image.vendor
    Apache Software Foundation
  • org.opencontainers.image.version
    3.0.5rc1

Environment
ADDITIONAL_RUNTIME_APT_COMMAND

ADDITIONAL_RUNTIME_APT_DEPS

AIRFLOW_HOME

/opt/airflow

AIRFLOW_IMAGE_TYPE

prod

AIRFLOW_INSTALLATION_METHOD

apache-airflow

AIRFLOW_PIP_VERSION

25.2

AIRFLOW_SETUPTOOLS_VERSION

80.9.0

AIRFLOW_UID

50000

AIRFLOW_USER_HOME_DIR

/home/airflow

AIRFLOW_USE_UV

false

AIRFLOW_UV_VERSION

0.8.8

AIRFLOW_VERSION

3.0.5rc1

AIRFLOW__CORE__LOAD_EXAMPLES

false

BUILD_ID

COMMIT_SHA

52083d0509206be8ffcd56572bce3eb10e5f0009

DEBIAN_FRONTEND

noninteractive

DUMB_INIT_SETSID

1

GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

GUNICORN_CMD_ARGS

--worker-tmp-dir /dev/shm

INSTALL_MSSQL_CLIENT

true

INSTALL_MYSQL_CLIENT

true

INSTALL_MYSQL_CLIENT_TYPE

mariadb

INSTALL_POSTGRES_CLIENT

true

LANG

C.UTF-8

LANGUAGE

C.UTF-8

LC_ALL

C.UTF-8

LC_CTYPE

C.UTF-8

LC_MESSAGES

C.UTF-8

LD_LIBRARY_PATH

/usr/local/lib

PATH

/root/bin:/home/airflow/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PIP_CACHE_DIR

/tmp/.cache/pip

PS1

(airflow)

PYTHON_BASE_IMAGE

python:3.12-slim-bookworm

PYTHON_SHA256

c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb

PYTHON_VERSION

3.12.11

RUNTIME_APT_COMMAND

echo

RUNTIME_APT_DEPS

UV_CACHE_DIR

/tmp/.cache/uv

VIRTUAL_ENV

/home/airflow/.local


Layers

[#000] sha256:b1badc6e50664185acfaa0ca255d8076061c2a9d881cecaaad281ae11af000ce - 4.56% (26.9 MB)

[#001] sha256:a02682fc7e29d89673695c379584938f17852684ce0edfd6dd870e0a3c657d2f - 0.57% (3.35 MB)

[#002] sha256:e3cb3cb08772654f53dacd1f8b31a0651d99d8d7750dfaf0140c85c1e99ea5b7 - 2.2% (13 MB)

[#003] sha256:0e2eeb4972c143540d09831e1df2ba11e321fc1fd583e123bce4bcbaf902c5cd - 0.0% (249 Bytes)

[#004] sha256:60e26452586f481a09858eaa7977dceec9e8348b7a75099f5f9cd6f1ba82d2b6 - 0.0% (1.47 KB)

[#005] sha256:8e3d231cd93bb82767d517dff8849b93ec815745daada560992d14ff7a8b882b - 17.41% (103 MB)

[#006] sha256:d1276fc7bf9f50ff7bc04dfd01a718f08fd02d721bdfae50735c05c86eedd4d9 - 0.0% (2.67 KB)

[#007] sha256:e04571a12b6b4462430e27251072bc671c615be11bbf0f1b3f8546f3c5ab23ed - 0.0% (2.18 KB)

[#008] sha256:b9366df1384cbba3f6771fb30826a539153e725fa21545f6d17075cf71291e7c - 3.59% (21.2 MB)

[#009] sha256:b264aa62fa8d831b22570a878329079fcbcee7b35e768f1215b0945743d93368 - 71.67% (423 MB)

[#010] sha256:ebfd6d651006a934d82923e3a1c7f72409238ee4e713fc98a3c2ea87caa0da61 - 0.0% (7.55 KB)

[#011] sha256:247c928af1c631a9bee027804ac58039673277d595cf70683530658c694f78ab - 0.0% (18.9 KB)

[#012] sha256:33a049d003dc4fffdc15f1a9d5f3b224b74999819de89c40de031537fb3f6784 - 0.0% (3.84 KB)

[#013] sha256:4152fab1620465157ed6fb9612b6e769dc5d2feb320c03a46f111a7b928a49d7 - 0.0% (520 Bytes)

[#014] sha256:96b998432ac79ea2bfde9c9c1931af8734f18712e57fb3dd3f4beb4da8608d6b - 0.0% (290 Bytes)

[#015] sha256:6da1bad5e73742bed345349331a71b04eb18bead2d45f59b10ac862f42ca6cd6 - 0.0% (5.19 KB)

[#016] sha256:cfcc1f975f83a53041fd5cd67286343a78d74a372377d56205fc476f59eababf - 0.0% (1.04 KB)

[#017] sha256:9b4452a83efe18582265e1cd0d9822546d265a40959659afe4e391bd751d59ac - 0.0% (115 Bytes)

[#018] sha256:2806b7c4ec8d1fed1f3c0400d345ff7e2a38124b9a3983576e3cfd853411d1b1 - 0.0% (429 Bytes)

[#019] sha256:8426d81bc3299ddbe5d2e47030240aad7078202f9837dcf7ada699dfd66cd6f8 - 0.0% (428 Bytes)

[#020] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2025-08-08 18:20:34 UTC (debuerreotype 0.15)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1754870400'

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.11

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -o pipefail -o errexit -o nounset -o nolog -c]

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UID

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

LABEL org.apache.airflow.distro=debian org.apache.airflow.module=airflow org.apache.airflow.component=airflow org.apache.airflow.image=airflow org.apache.airflow.uid=50000

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG PYTHON_BASE_IMAGE

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ENV PYTHON_BASE_IMAGE=python:3.12-slim-bookworm DEBIAN_FRONTEND=noninteractive LANGUAGE=C.UTF-8 LANG=C.UTF-8 LC_ALL=C.UTF-8 LC_CTYPE=C.UTF-8 LC_MESSAGES=C.UTF-8 LD_LIBRARY_PATH=/usr/local/lib PIP_CACHE_DIR=/tmp/.cache/pip UV_CACHE_DIR=/tmp/.cache/uv

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_DEPS=

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_DEPS=

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_COMMAND=echo

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_COMMAND=

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_ENV=

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT=true

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MSSQL_CLIENT=true

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG INSTALL_POSTGRES_CLIENT=true

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

ENV RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true GUNICORN_CMD_ARGS=--worker-tmp-dir /dev/shm AIRFLOW_INSTALLATION_METHOD=apache-airflow

2025-08-13 16:44:58 UTC (buildkit.dockerfile.v0)

COPY install_os_dependencies.sh /scripts/docker/ # buildkit

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

RUN |12 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_os_dependencies.sh runtime # buildkit

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_README_URL

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USER_HOME_DIR

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_HOME

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_TYPE

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

ENV PATH=/home/airflow/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin VIRTUAL_ENV=/home/airflow/.local AIRFLOW_UID=50000 AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

COPY common.sh /scripts/docker/ # buildkit

2025-08-13 16:45:19 UTC (buildkit.dockerfile.v0)

COPY install_mysql.sh install_mssql.sh install_postgres.sh /scripts/docker/ # buildkit

2025-08-13 16:45:38 UTC (buildkit.dockerfile.v0)

RUN |17 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_mysql.sh prod && bash /scripts/docker/install_mssql.sh prod && bash /scripts/docker/install_postgres.sh prod && adduser --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password --quiet "airflow" --uid "${AIRFLOW_UID}" --gid "0" --home "${AIRFLOW_USER_HOME_DIR}" && mkdir -pv "${AIRFLOW_HOME}" && mkdir -pv "${AIRFLOW_HOME}/dags" && mkdir -pv "${AIRFLOW_HOME}/logs" && chown -R airflow:0 "${AIRFLOW_USER_HOME_DIR}" "${AIRFLOW_HOME}" && chmod -R g+rw "${AIRFLOW_USER_HOME_DIR}" "${AIRFLOW_HOME}" && find "${AIRFLOW_HOME}" -executable ! -type l -print0 | xargs --null chmod g+x && find "${AIRFLOW_USER_HOME_DIR}" -executable ! -type l -print0 | xargs --null chmod g+x # buildkit

2025-08-13 16:45:38 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_FROM

2025-08-13 16:45:38 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_TO

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

COPY /home/airflow/.local /home/airflow/.local # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

COPY /home/airflow/constraints.txt /home/airflow/constraints.txt # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

COPY /Dockerfile /Dockerfile # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

COPY entrypoint_prod.sh /entrypoint # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

COPY clean-logs.sh /clean-logs # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

COPY airflow-scheduler-autorestart.sh /airflow-scheduler-autorestart # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod AIRFLOW_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod a+rx /entrypoint /clean-logs && chmod g=u /etc/passwd && chmod g+w "${AIRFLOW_USER_HOME_DIR}/.local" && usermod -g 0 airflow -G 0 # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod AIRFLOW_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile /bin/bash -o pipefail -o errexit -o nounset -o nolog -c sed --in-place=.bak "s/secure_path=\"/secure_path=\"$(echo -n ${AIRFLOW_USER_HOME_DIR} | sed 's/\//\\\//g')\/.local\/bin:/" /etc/sudoers # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_VERSION

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_PIP_VERSION

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SETUPTOOLS_VERSION

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UV_VERSION

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USE_UV

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=3.0.5rc1 AIRFLOW__CORE__LOAD_EXAMPLES=false PATH=/root/bin:/home/airflow/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin AIRFLOW_PIP_VERSION=25.2 AIRFLOW_UV_VERSION=0.8.8 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_USE_UV=false

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

RUN |24 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod AIRFLOW_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile AIRFLOW_VERSION=3.0.5rc1 AIRFLOW_PIP_VERSION=25.2 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_UV_VERSION=0.8.8 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

COPY pip /root/bin/pip # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

RUN |24 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod AIRFLOW_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile AIRFLOW_VERSION=3.0.5rc1 AIRFLOW_PIP_VERSION=25.2 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_UV_VERSION=0.8.8 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/airflow

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

USER 50000

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG BUILD_ID

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_DATE_CREATED

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ENV BUILD_ID= COMMIT_SHA=52083d0509206be8ffcd56572bce3eb10e5f0009

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

LABEL org.apache.airflow.distro=debian org.apache.airflow.module=airflow org.apache.airflow.component=airflow org.apache.airflow.image=airflow org.apache.airflow.version=3.0.5rc1 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=52083d0509206be8ffcd56572bce3eb10e5f0009 org.opencontainers.image.source=https://github.com/apache/airflow org.opencontainers.image.created= org.opencontainers.image.authors=dev@airflow.apache.org org.opencontainers.image.url=https://airflow.apache.org org.opencontainers.image.documentation=https://airflow.apache.org/docs/docker-stack/index.html org.opencontainers.image.version=3.0.5rc1 org.opencontainers.image.revision=52083d0509206be8ffcd56572bce3eb10e5f0009 org.opencontainers.image.vendor=Apache Software Foundation org.opencontainers.image.licenses=Apache-2.0 org.opencontainers.image.ref.name=airflow org.opencontainers.image.title=Production Airflow Image org.opencontainers.image.description=Reference, production-ready Apache Airflow image

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/bin/dumb-init" "--" "/entrypoint"]

2025-08-13 16:48:46 UTC (buildkit.dockerfile.v0)

CMD []

Details
Created

2025-08-13 16:50:35 UTC

Size

580 MB

Content Digest
Labels
  • org.apache.airflow.component
    airflow
  • org.apache.airflow.distro
    debian
  • org.apache.airflow.image
    airflow
  • org.apache.airflow.main-image.build-id
  • org.apache.airflow.main-image.commit-sha
    52083d0509206be8ffcd56572bce3eb10e5f0009
  • org.apache.airflow.module
    airflow
  • org.apache.airflow.uid
    50000
  • org.apache.airflow.version
    3.0.5rc1
  • org.opencontainers.image.authors
    dev@airflow.apache.org
  • org.opencontainers.image.created
  • org.opencontainers.image.description
    Reference, production-ready Apache Airflow image
  • org.opencontainers.image.documentation
    https://airflow.apache.org/docs/docker-stack/index.html
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.ref.name
    airflow
  • org.opencontainers.image.revision
    52083d0509206be8ffcd56572bce3eb10e5f0009
  • org.opencontainers.image.source
    https://github.com/apache/airflow
  • org.opencontainers.image.title
    Production Airflow Image
  • org.opencontainers.image.url
    https://airflow.apache.org
  • org.opencontainers.image.vendor
    Apache Software Foundation
  • org.opencontainers.image.version
    3.0.5rc1

Environment
ADDITIONAL_RUNTIME_APT_COMMAND

ADDITIONAL_RUNTIME_APT_DEPS

AIRFLOW_HOME

/opt/airflow

AIRFLOW_IMAGE_TYPE

prod

AIRFLOW_INSTALLATION_METHOD

apache-airflow

AIRFLOW_PIP_VERSION

25.2

AIRFLOW_SETUPTOOLS_VERSION

80.9.0

AIRFLOW_UID

50000

AIRFLOW_USER_HOME_DIR

/home/airflow

AIRFLOW_USE_UV

false

AIRFLOW_UV_VERSION

0.8.8

AIRFLOW_VERSION

3.0.5rc1

AIRFLOW__CORE__LOAD_EXAMPLES

false

BUILD_ID

COMMIT_SHA

52083d0509206be8ffcd56572bce3eb10e5f0009

DEBIAN_FRONTEND

noninteractive

DUMB_INIT_SETSID

1

GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

GUNICORN_CMD_ARGS

--worker-tmp-dir /dev/shm

INSTALL_MSSQL_CLIENT

true

INSTALL_MYSQL_CLIENT

true

INSTALL_MYSQL_CLIENT_TYPE

mariadb

INSTALL_POSTGRES_CLIENT

true

LANG

C.UTF-8

LANGUAGE

C.UTF-8

LC_ALL

C.UTF-8

LC_CTYPE

C.UTF-8

LC_MESSAGES

C.UTF-8

LD_LIBRARY_PATH

/usr/local/lib

PATH

/root/bin:/home/airflow/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PIP_CACHE_DIR

/tmp/.cache/pip

PS1

(airflow)

PYTHON_BASE_IMAGE

python:3.12-slim-bookworm

PYTHON_SHA256

c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb

PYTHON_VERSION

3.12.11

RUNTIME_APT_COMMAND

echo

RUNTIME_APT_DEPS

UV_CACHE_DIR

/tmp/.cache/uv

VIRTUAL_ENV

/home/airflow/.local


Layers

[#000] sha256:9a80f9a055240e1d5ffd4b99717e18b5b3e924369b9155fb0a951a7a94b2c61f - 4.62% (26.8 MB)

[#001] sha256:fdc0ec01d9674bc86fb5888ebafedce6f5c880d20d70b21672201505f19785ec - 0.55% (3.19 MB)

[#002] sha256:648e042a8b2abe423b961a6eaa5e5c2f8a5e41f33b8fb6e86d8bcb02225005b1 - 2.24% (13 MB)

[#003] sha256:b9ee2e7517bbd6a33dbf4825599076f4cb889a3e59865edd9ddff16411030596 - 0.0% (250 Bytes)

[#004] sha256:436ae173cef7a7abe90f1e51766816920ff767f01d25f9181377f11601020550 - 0.0% (1.47 KB)

[#005] sha256:9077f71e28dba0d4eb14b1b5aeca38fc2778ed59fc81c0183f1049f5618cd364 - 17.47% (101 MB)

[#006] sha256:db85fc29968b715c8ccd01acbe671ff1863872be06be6ed4d2909d40bf5b3af0 - 0.0% (2.66 KB)

[#007] sha256:ef57b83e82dcce8d04b3eb8401d4f009d81f40f3dec0569e1618dd9f54fbcfdf - 0.0% (2.19 KB)

[#008] sha256:3c03e9e567e84a84f63b8956249b3acd5f4648e60ced6ee15a8e9f7da5ba82bf - 3.63% (21.1 MB)

[#009] sha256:444768420423aec8e447a462022e607ccd4b35c062a6b7e473fba1f1020674b1 - 71.48% (414 MB)

[#010] sha256:4b4a169ec70c4a468d8dd93be5b5a656262c2f5373c58f420729150efcafa634 - 0.0% (7.56 KB)

[#011] sha256:c7c009adc3f1369f2a3b3f9d17d6264c94a81cda46a8de60e7d18a34c6a80658 - 0.0% (18.9 KB)

[#012] sha256:2dcd426da72ebcf488c18ce28d01947d8c31c1f1f19343e104d56d7488fc8224 - 0.0% (3.84 KB)

[#013] sha256:75e7e5fe1d517ba560502801820d6ec19582a4a3abea42f30026eece646c6737 - 0.0% (520 Bytes)

[#014] sha256:8d211bf9ed151b3053ca1d47219a3fbc9865aa8b4d296594931e1fb219765715 - 0.0% (291 Bytes)

[#015] sha256:1bfa80f93795593960d7d7b05d9977bcb86cd435eef7cc85302dde5b1ed0ab4a - 0.0% (5.2 KB)

[#016] sha256:f65c8dda8c0a1984bc9e7435060e47805c4e42358f8bd0acc5b3ccf79e0b2355 - 0.0% (1.04 KB)

[#017] sha256:1e38b84a629a1dce3fdaf63230f5575d270be0d71f00e892e5199576700a468e - 0.0% (115 Bytes)

[#018] sha256:20cdd583696edb0db9c4143dc35cd42787ce6927ad4a2545d287f786e9a2f0d6 - 0.0% (432 Bytes)

[#019] sha256:869e6a10dce62ad26efcbcfbea777470ddf9cd1b4dda863b4901217cea6aacac - 0.0% (430 Bytes)

[#020] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2025-08-08 18:20:34 UTC (debuerreotype 0.15)

# debian.sh --arch 'arm64' out/ 'bookworm' '@1754870400'

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.11

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2025-08-08 18:20:34 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -o pipefail -o errexit -o nounset -o nolog -c]

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UID

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

LABEL org.apache.airflow.distro=debian org.apache.airflow.module=airflow org.apache.airflow.component=airflow org.apache.airflow.image=airflow org.apache.airflow.uid=50000

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG PYTHON_BASE_IMAGE

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ENV PYTHON_BASE_IMAGE=python:3.12-slim-bookworm DEBIAN_FRONTEND=noninteractive LANGUAGE=C.UTF-8 LANG=C.UTF-8 LC_ALL=C.UTF-8 LC_CTYPE=C.UTF-8 LC_MESSAGES=C.UTF-8 LD_LIBRARY_PATH=/usr/local/lib PIP_CACHE_DIR=/tmp/.cache/pip UV_CACHE_DIR=/tmp/.cache/uv

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_DEPS=

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_DEPS=

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_COMMAND=echo

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_COMMAND=

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_ENV=

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT=true

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MSSQL_CLIENT=true

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG INSTALL_POSTGRES_CLIENT=true

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

ENV RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true GUNICORN_CMD_ARGS=--worker-tmp-dir /dev/shm AIRFLOW_INSTALLATION_METHOD=apache-airflow

2025-08-13 16:45:45 UTC (buildkit.dockerfile.v0)

COPY install_os_dependencies.sh /scripts/docker/ # buildkit

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

RUN |12 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_os_dependencies.sh runtime # buildkit

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_README_URL

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USER_HOME_DIR

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_HOME

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_TYPE

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

ENV PATH=/home/airflow/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin VIRTUAL_ENV=/home/airflow/.local AIRFLOW_UID=50000 AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

COPY common.sh /scripts/docker/ # buildkit

2025-08-13 16:46:21 UTC (buildkit.dockerfile.v0)

COPY install_mysql.sh install_mssql.sh install_postgres.sh /scripts/docker/ # buildkit

2025-08-13 16:46:45 UTC (buildkit.dockerfile.v0)

RUN |17 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_mysql.sh prod && bash /scripts/docker/install_mssql.sh prod && bash /scripts/docker/install_postgres.sh prod && adduser --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password --quiet "airflow" --uid "${AIRFLOW_UID}" --gid "0" --home "${AIRFLOW_USER_HOME_DIR}" && mkdir -pv "${AIRFLOW_HOME}" && mkdir -pv "${AIRFLOW_HOME}/dags" && mkdir -pv "${AIRFLOW_HOME}/logs" && chown -R airflow:0 "${AIRFLOW_USER_HOME_DIR}" "${AIRFLOW_HOME}" && chmod -R g+rw "${AIRFLOW_USER_HOME_DIR}" "${AIRFLOW_HOME}" && find "${AIRFLOW_HOME}" -executable ! -type l -print0 | xargs --null chmod g+x && find "${AIRFLOW_USER_HOME_DIR}" -executable ! -type l -print0 | xargs --null chmod g+x # buildkit

2025-08-13 16:46:45 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_FROM

2025-08-13 16:46:45 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_TO

2025-08-13 16:50:33 UTC (buildkit.dockerfile.v0)

COPY /home/airflow/.local /home/airflow/.local # buildkit

2025-08-13 16:50:33 UTC (buildkit.dockerfile.v0)

COPY /home/airflow/constraints.txt /home/airflow/constraints.txt # buildkit

2025-08-13 16:50:33 UTC (buildkit.dockerfile.v0)

COPY /Dockerfile /Dockerfile # buildkit

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

COPY entrypoint_prod.sh /entrypoint # buildkit

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

COPY clean-logs.sh /clean-logs # buildkit

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

COPY airflow-scheduler-autorestart.sh /airflow-scheduler-autorestart # buildkit

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod AIRFLOW_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod a+rx /entrypoint /clean-logs && chmod g=u /etc/passwd && chmod g+w "${AIRFLOW_USER_HOME_DIR}/.local" && usermod -g 0 airflow -G 0 # buildkit

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod AIRFLOW_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile /bin/bash -o pipefail -o errexit -o nounset -o nolog -c sed --in-place=.bak "s/secure_path=\"/secure_path=\"$(echo -n ${AIRFLOW_USER_HOME_DIR} | sed 's/\//\\\//g')\/.local\/bin:/" /etc/sudoers # buildkit

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_VERSION

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_PIP_VERSION

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SETUPTOOLS_VERSION

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UV_VERSION

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USE_UV

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=3.0.5rc1 AIRFLOW__CORE__LOAD_EXAMPLES=false PATH=/root/bin:/home/airflow/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin AIRFLOW_PIP_VERSION=25.2 AIRFLOW_UV_VERSION=0.8.8 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_USE_UV=false

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

RUN |24 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod AIRFLOW_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile AIRFLOW_VERSION=3.0.5rc1 AIRFLOW_PIP_VERSION=25.2 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_UV_VERSION=0.8.8 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

COPY pip /root/bin/pip # buildkit

2025-08-13 16:50:34 UTC (buildkit.dockerfile.v0)

RUN |24 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.12-slim-bookworm RUNTIME_APT_DEPS= ADDITIONAL_RUNTIME_APT_DEPS= RUNTIME_APT_COMMAND=echo ADDITIONAL_RUNTIME_APT_COMMAND= ADDITIONAL_RUNTIME_APT_ENV= INSTALL_MYSQL_CLIENT=true INSTALL_MYSQL_CLIENT_TYPE=mariadb INSTALL_MSSQL_CLIENT=true INSTALL_POSTGRES_CLIENT=true AIRFLOW_INSTALLATION_METHOD=apache-airflow AIRFLOW_IMAGE_REPOSITORY=https://github.com/apache/airflow AIRFLOW_IMAGE_README_URL=https://raw.githubusercontent.com/apache/airflow/main/docs/docker-stack/README.md AIRFLOW_USER_HOME_DIR=/home/airflow AIRFLOW_HOME=/opt/airflow AIRFLOW_IMAGE_TYPE=prod AIRFLOW_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile AIRFLOW_VERSION=3.0.5rc1 AIRFLOW_PIP_VERSION=25.2 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_UV_VERSION=0.8.8 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/airflow

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

USER 50000

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

ARG BUILD_ID

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_DATE_CREATED

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

ENV BUILD_ID= COMMIT_SHA=52083d0509206be8ffcd56572bce3eb10e5f0009

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

LABEL org.apache.airflow.distro=debian org.apache.airflow.module=airflow org.apache.airflow.component=airflow org.apache.airflow.image=airflow org.apache.airflow.version=3.0.5rc1 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=52083d0509206be8ffcd56572bce3eb10e5f0009 org.opencontainers.image.source=https://github.com/apache/airflow org.opencontainers.image.created= org.opencontainers.image.authors=dev@airflow.apache.org org.opencontainers.image.url=https://airflow.apache.org org.opencontainers.image.documentation=https://airflow.apache.org/docs/docker-stack/index.html org.opencontainers.image.version=3.0.5rc1 org.opencontainers.image.revision=52083d0509206be8ffcd56572bce3eb10e5f0009 org.opencontainers.image.vendor=Apache Software Foundation org.opencontainers.image.licenses=Apache-2.0 org.opencontainers.image.ref.name=airflow org.opencontainers.image.title=Production Airflow Image org.opencontainers.image.description=Reference, production-ready Apache Airflow image

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/bin/dumb-init" "--" "/entrypoint"]

2025-08-13 16:50:35 UTC (buildkit.dockerfile.v0)

CMD []

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete