Namespace
apache
Image / Tag
airflow:2.11.1rc2
Content Digest
sha256:8e47fceae977fd2e85fefd0604989a1628673a77678ad32a76b4069e2c1c5472
Details
Created

2026-02-16 22:44:44 UTC

Size

573 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
    2e870c7006cd7e9578f2ae87692f9bcf4532dc71
  • org.apache.airflow.module
    airflow
  • org.apache.airflow.uid
    50000
  • org.apache.airflow.version
    2.11.1rc2
  • 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
    2e870c7006cd7e9578f2ae87692f9bcf4532dc71
  • 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
    2.11.1rc2

Environment
ADDITIONAL_RUNTIME_APT_COMMAND

ADDITIONAL_RUNTIME_APT_DEPS

AIRFLOW_HOME

/opt/airflow

AIRFLOW_INSTALLATION_METHOD

AIRFLOW_PIP_VERSION

25.3

AIRFLOW_UID

50000

AIRFLOW_USER_HOME_DIR

/home/airflow

AIRFLOW_USE_UV

false

AIRFLOW_UV_VERSION

0.9.11

AIRFLOW_VERSION

2.11.1rc2

AIRFLOW__CORE__LOAD_EXAMPLES

false

BUILD_ID

COMMIT_SHA

2e870c7006cd7e9578f2ae87692f9bcf4532dc71

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

fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4

PYTHON_VERSION

3.12.12

RUNTIME_APT_COMMAND

echo

RUNTIME_APT_DEPS

UV_CACHE_DIR

/tmp/.cache/uv

VIRTUAL_ENV

/home/airflow/.local


Layers

[#000] sha256:4831516dd0cb86845f5f902cb9b9d25b5c853152c337eb57e4737a9b7e2a2eb9 - 4.7% (26.9 MB)

[#001] sha256:64c98d67a0cbb2ae6a93577aac0580ece0b9a669660e1975dbf6445f6a70b4b8 - 0.59% (3.35 MB)

[#002] sha256:312793915f723c13f4cebc4be79c7952590a329bd082226778a0df920dd66e9d - 2.28% (13 MB)

[#003] sha256:165b542eb616ea8a51ba1fe44e640426c5babe25a90c47acba9437c385f3ef48 - 0.0% (251 Bytes)

[#004] sha256:00918894b5abd57283fcc867bc2faffdbe31a342c5f55ceebdb29c8d7a00c635 - 0.0% (1.47 KB)

[#005] sha256:ee650541b0663aaec239bb34e1a0253b3b387501de7e58b086337e86f293ab76 - 15.13% (86.6 MB)

[#006] sha256:253d1c8181c4a38843418039556f69b681355b3fe88624d1f171decb2e5a6502 - 0.0% (2.25 KB)

[#007] sha256:6b585c005f0eae80245bab8dbe7daf342bdbf2c64fe4327af1c03ab69a7e1546 - 0.0% (1.98 KB)

[#008] sha256:5f1e9e74b29c40eb80109c227341af94918c7520acec0a270b73eea2718f7f0c - 3.74% (21.4 MB)

[#009] sha256:a0055c7c4337007a6173cb847293a9b22db6c4b09c77501f44492556d84f5aa0 - 73.57% (421 MB)

[#010] sha256:df737916335e6259402f63d42f88fd3529f4419d7f98b254f7295d96cf4669f6 - 0.0% (7.27 KB)

[#011] sha256:563024a695b3dfa84b7fe7f03f4320fb1bdde19395d02b9e547b2b1c56f1aef4 - 0.0% (17.1 KB)

[#012] sha256:7e7d89d077632c863487a0b49c6faa5d7ad8730860ebb3f9c841acea37ce3773 - 0.0% (3.78 KB)

[#013] sha256:86c97efe425daeef1e8bca7b4bd88a1a5bb43a9382d0743666f153906f276eaf - 0.0% (492 Bytes)

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

[#015] sha256:2544c5ebebdef5e3ce62be9ebf5ec0c3fee87a138ad7127b1cd7af13dbf2afad - 0.0% (5.08 KB)

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

[#017] sha256:382ce272c277eec9f0869821ed43e5a2d0eedc4cad49d1335fdeb804a9d41ee4 - 0.0% (114 Bytes)

[#018] sha256:0e5182760c5aa0d577779039aa7e6f26f4a99dc198468d0c65ac8dc1ff9820b7 - 0.0% (421 Bytes)

[#019] sha256:bf13800113b954960d80a442bf0923137b2355fad1c0313b6704a92aa0f27ebe - 0.0% (420 Bytes)

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


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

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

2026-02-04 20:15:27 UTC (buildkit.dockerfile.v0)

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

2026-02-04 20:15:27 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-02-04 20:15:27 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

2026-02-04 20:15:27 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-02-04 20:15:27 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.12

2026-02-04 20:15:27 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4

2026-02-04 20:24:52 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

2026-02-04 20:24:52 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

2026-02-04 20:24:52 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UID

2026-02-16 22:39:30 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

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG PYTHON_BASE_IMAGE

2026-02-16 22:39:30 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

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_DEPS=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_DEPS=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_COMMAND=echo

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_COMMAND=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_ENV=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT=true

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MSSQL_CLIENT=true

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG INSTALL_POSTGRES_CLIENT=true

2026-02-16 22:39:30 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=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

COPY install_os_dependencies.sh /scripts/docker/ # buildkit

2026-02-16 22:40:02 UTC (buildkit.dockerfile.v0)

RUN |11 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 /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_os_dependencies.sh runtime # buildkit

2026-02-16 22:40:02 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow

2026-02-16 22:40:02 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2026-02-16 22:40:02 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_README_URL

2026-02-16 22:40:02 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USER_HOME_DIR

2026-02-16 22:40:02 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_HOME

2026-02-16 22:40:02 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

2026-02-16 22:40:02 UTC (buildkit.dockerfile.v0)

COPY common.sh /scripts/docker/ # buildkit

2026-02-16 22:40:02 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:40:28 UTC (buildkit.dockerfile.v0)

RUN |16 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 /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

2026-02-16 22:40:28 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_FROM

2026-02-16 22:40:28 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_TO

2026-02-16 22:44:43 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

COPY /Dockerfile /Dockerfile # buildkit

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

COPY entrypoint_prod.sh /entrypoint # buildkit

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

RUN |18 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_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

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

RUN |18 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_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

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_VERSION

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_PIP_VERSION

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UV_VERSION

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USE_UV

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=2.11.1rc2 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.3 AIRFLOW_UV_VERSION=0.9.11 AIRFLOW_USE_UV=false

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

RUN |22 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_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile AIRFLOW_VERSION=2.11.1rc2 AIRFLOW_PIP_VERSION=25.3 AIRFLOW_UV_VERSION=0.9.11 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

COPY pip /root/bin/pip # buildkit

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

RUN |22 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_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile AIRFLOW_VERSION=2.11.1rc2 AIRFLOW_PIP_VERSION=25.3 AIRFLOW_UV_VERSION=0.9.11 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/airflow

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

USER 50000

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ARG BUILD_ID

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_DATE_CREATED

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

ENV BUILD_ID= COMMIT_SHA=2e870c7006cd7e9578f2ae87692f9bcf4532dc71

2026-02-16 22:44:44 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=2.11.1rc2 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=2e870c7006cd7e9578f2ae87692f9bcf4532dc71 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=2.11.1rc2 org.opencontainers.image.revision=2e870c7006cd7e9578f2ae87692f9bcf4532dc71 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

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:44:44 UTC (buildkit.dockerfile.v0)

CMD []

Details
Created

2026-02-16 23:18:21 UTC

Size

561 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
    2e870c7006cd7e9578f2ae87692f9bcf4532dc71
  • org.apache.airflow.module
    airflow
  • org.apache.airflow.uid
    50000
  • org.apache.airflow.version
    2.11.1rc2
  • 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
    2e870c7006cd7e9578f2ae87692f9bcf4532dc71
  • 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
    2.11.1rc2

Environment
ADDITIONAL_RUNTIME_APT_COMMAND

ADDITIONAL_RUNTIME_APT_DEPS

AIRFLOW_HOME

/opt/airflow

AIRFLOW_INSTALLATION_METHOD

AIRFLOW_PIP_VERSION

25.3

AIRFLOW_UID

50000

AIRFLOW_USER_HOME_DIR

/home/airflow

AIRFLOW_USE_UV

false

AIRFLOW_UV_VERSION

0.9.11

AIRFLOW_VERSION

2.11.1rc2

AIRFLOW__CORE__LOAD_EXAMPLES

false

BUILD_ID

COMMIT_SHA

2e870c7006cd7e9578f2ae87692f9bcf4532dc71

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

fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4

PYTHON_VERSION

3.12.12

RUNTIME_APT_COMMAND

echo

RUNTIME_APT_DEPS

UV_CACHE_DIR

/tmp/.cache/uv

VIRTUAL_ENV

/home/airflow/.local


Layers

[#000] sha256:d3d5d8ab26d25b9040a3c2160d7ddfe3911ae81035d5b1b0904f3ebda32476b6 - 4.78% (26.8 MB)

[#001] sha256:15197736cc235ef924ae407b4ee535fe5b5ec7b5f066801d04537139f5a0f4de - 0.57% (3.19 MB)

[#002] sha256:877a4172f392d496f81cfa44338bb34831e530c6b7e7f3201c1cd5927f3efb76 - 2.31% (13 MB)

[#003] sha256:2248f6fb7297b84e6372a47eec7a96146d6088f56d1d3620ea80a2ea1760afbb - 0.0% (251 Bytes)

[#004] sha256:00918894b5abd57283fcc867bc2faffdbe31a342c5f55ceebdb29c8d7a00c635 - 0.0% (1.47 KB)

[#005] sha256:2f1f6d75ad47c6c9d734afc25c87fdc2e929e297d180453ee6227058894aa07c - 15.12% (84.8 MB)

[#006] sha256:2ff7e776861f6a9a9c9b21f0893c1e780a7b86df7051a3ce72450fbbf6c33272 - 0.0% (2.25 KB)

[#007] sha256:5fa4ad341eef2dc23b18c7222ab611b715a0eb6f59fb4207bfb87636a748b237 - 0.0% (1.99 KB)

[#008] sha256:58a383fec9806562d6b02c84390658b38bd95871398ded4cdcc7d803f086f4a4 - 3.78% (21.2 MB)

[#009] sha256:000aa0c87c538f3f7333366aecc674aa22a828b1fcf3e1a02f700fd115dc570d - 73.43% (412 MB)

[#010] sha256:a192263de096c75e4ba7a53457f99c1eb9dffbe4b1aa37afee9bd16dfd889d17 - 0.0% (7.28 KB)

[#011] sha256:563024a695b3dfa84b7fe7f03f4320fb1bdde19395d02b9e547b2b1c56f1aef4 - 0.0% (17.1 KB)

[#012] sha256:7e7d89d077632c863487a0b49c6faa5d7ad8730860ebb3f9c841acea37ce3773 - 0.0% (3.78 KB)

[#013] sha256:86c97efe425daeef1e8bca7b4bd88a1a5bb43a9382d0743666f153906f276eaf - 0.0% (492 Bytes)

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

[#015] sha256:401d58afaccccf406d1558df8cf3613f7451e1b01d546d3c6fc4525ecdb7d0b0 - 0.0% (5.1 KB)

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

[#017] sha256:582115706e9daada5d8777e3c33db5917429b2586696a05ae9283635370de67d - 0.0% (114 Bytes)

[#018] sha256:16a50d74d6beb3f010a35843e5b381d7a16014d12d88ecf1d7fd5d8ab882b78b - 0.0% (423 Bytes)

[#019] sha256:91490bbebbc40d5d943337474bd72269a3db766157df32d2838381950c105e5e - 0.0% (422 Bytes)

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


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

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

2026-02-04 20:18:06 UTC (buildkit.dockerfile.v0)

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

2026-02-04 20:18:06 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-02-04 20:18:06 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

2026-02-04 20:18:06 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-02-04 20:18:06 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.12

2026-02-04 20:18:06 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4

2026-02-04 20:30:20 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

2026-02-04 20:30:20 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

2026-02-04 20:30:20 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UID

2026-02-16 22:39:30 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

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG PYTHON_BASE_IMAGE

2026-02-16 22:39:30 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

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_DEPS=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_DEPS=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_COMMAND=echo

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_COMMAND=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_ENV=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT=true

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MSSQL_CLIENT=true

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

ARG INSTALL_POSTGRES_CLIENT=true

2026-02-16 22:39:30 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=

2026-02-16 22:39:30 UTC (buildkit.dockerfile.v0)

COPY install_os_dependencies.sh /scripts/docker/ # buildkit

2026-02-16 22:44:59 UTC (buildkit.dockerfile.v0)

RUN |11 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 /bin/bash -o pipefail -o errexit -o nounset -o nolog -c bash /scripts/docker/install_os_dependencies.sh runtime # buildkit

2026-02-16 22:44:59 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow

2026-02-16 22:44:59 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2026-02-16 22:44:59 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_README_URL

2026-02-16 22:44:59 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USER_HOME_DIR

2026-02-16 22:44:59 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_HOME

2026-02-16 22:44:59 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

2026-02-16 22:44:59 UTC (buildkit.dockerfile.v0)

COPY common.sh /scripts/docker/ # buildkit

2026-02-16 22:44:59 UTC (buildkit.dockerfile.v0)

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

2026-02-16 22:48:03 UTC (buildkit.dockerfile.v0)

RUN |16 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 /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

2026-02-16 22:48:03 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_FROM

2026-02-16 22:48:03 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_TO

2026-02-16 23:18:20 UTC (buildkit.dockerfile.v0)

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

2026-02-16 23:18:20 UTC (buildkit.dockerfile.v0)

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

2026-02-16 23:18:20 UTC (buildkit.dockerfile.v0)

COPY /Dockerfile /Dockerfile # buildkit

2026-02-16 23:18:20 UTC (buildkit.dockerfile.v0)

COPY entrypoint_prod.sh /entrypoint # buildkit

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

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

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

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

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

RUN |18 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_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

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

RUN |18 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_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

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_VERSION

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_PIP_VERSION

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UV_VERSION

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USE_UV

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=2.11.1rc2 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.3 AIRFLOW_UV_VERSION=0.9.11 AIRFLOW_USE_UV=false

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

RUN |22 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_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile AIRFLOW_VERSION=2.11.1rc2 AIRFLOW_PIP_VERSION=25.3 AIRFLOW_UV_VERSION=0.9.11 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

COPY pip /root/bin/pip # buildkit

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

RUN |22 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_SOURCES_FROM=Dockerfile AIRFLOW_SOURCES_TO=/Dockerfile AIRFLOW_VERSION=2.11.1rc2 AIRFLOW_PIP_VERSION=25.3 AIRFLOW_UV_VERSION=0.9.11 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/airflow

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

USER 50000

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ARG BUILD_ID

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_DATE_CREATED

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

ENV BUILD_ID= COMMIT_SHA=2e870c7006cd7e9578f2ae87692f9bcf4532dc71

2026-02-16 23:18:21 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=2.11.1rc2 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=2e870c7006cd7e9578f2ae87692f9bcf4532dc71 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=2.11.1rc2 org.opencontainers.image.revision=2e870c7006cd7e9578f2ae87692f9bcf4532dc71 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

2026-02-16 23:18:21 UTC (buildkit.dockerfile.v0)

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

2026-02-16 23:18:21 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