Namespace
apache
Image / Tag
airflow:slim-2.11.2rc1
Content Digest
sha256:44b5ea28b99435897a2fc5677a0e6aad754f3db3dc7a3ff7373f56909cb05d5a
Details
Created

2026-03-09 19:38:36 UTC

Size

222 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
    8bf498965c87d562486a8e9344ccdb84aa351b2d
  • org.apache.airflow.module
    airflow
  • org.apache.airflow.uid
    50000
  • org.apache.airflow.version
    2.11.2rc1
  • 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
    8bf498965c87d562486a8e9344ccdb84aa351b2d
  • 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.2rc1

Environment
ADDITIONAL_RUNTIME_APT_COMMAND

ADDITIONAL_RUNTIME_APT_DEPS

AIRFLOW_HOME

/opt/airflow

AIRFLOW_INSTALLATION_METHOD

AIRFLOW_PIP_VERSION

26.0.1

AIRFLOW_UID

50000

AIRFLOW_USER_HOME_DIR

/home/airflow

AIRFLOW_USE_UV

false

AIRFLOW_UV_VERSION

0.10.9

AIRFLOW_VERSION

2.11.2rc1

AIRFLOW__CORE__LOAD_EXAMPLES

false

BUILD_ID

COMMIT_SHA

8bf498965c87d562486a8e9344ccdb84aa351b2d

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

c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

PYTHON_VERSION

3.12.13

RUNTIME_APT_COMMAND

echo

RUNTIME_APT_DEPS

UV_CACHE_DIR

/tmp/.cache/uv

VIRTUAL_ENV

/home/airflow/.local


Layers

[#000] sha256:84a2afebaf4de2e8eb885634a69abd0087b79c947c53fa4f0481235d6dfadc6c - 12.14% (26.9 MB)

[#001] sha256:1a86eda0010af41b399ff1768473c651bb7ea6e9724678cb31fb2b2394a9cd23 - 1.51% (3.35 MB)

[#002] sha256:0c7fd13f2ccc62688b2abc35a04895af3b395cb2324bce2e24ddacc12c301bc8 - 5.87% (13 MB)

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

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

[#005] sha256:c57540cbdc497058c94d7f8e5097f6ea6d4cac70ce4e73c5a7b5694a3404dc71 - 39.1% (86.8 MB)

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

[#007] sha256:0252df9a6c1493e98d4c38ee4451bd3a850387be13ec7911500c5ee6736535ec - 0.0% (1.99 KB)

[#008] sha256:17e986ab9bbe19be58b17e916be237a875ca3190bd5c9747fa8d7034f84dd701 - 9.64% (21.4 MB)

[#009] sha256:a9750b98d58b1bb71aff0b99a6be6b67f13fdba1fa691c67368ec1e066588bf0 - 31.72% (70.4 MB)

[#010] sha256:d11d60782abc3dee545e224603d6347973d3475cbd40bbb4b06912f0fb1b8589 - 0.0% (7.29 KB)

[#011] sha256:c3c27b3f5386eae3aeb527a6654ce25ccf35f17306e218ac5f846c2516b83292 - 0.01% (17.4 KB)

[#012] sha256:3624092c5968d82858fc171eb76187e527bd478609244e3897ed63bd9eb1a6b2 - 0.0% (3.78 KB)

[#013] sha256:42ca947171c4ea97858cbdae05c80df79c854fb02fd17c375f69c046610e42da - 0.0% (491 Bytes)

[#014] sha256:7e7141fb9a69986ce423ec5390b9d5657e2f465f96e9e84e4236813065a70349 - 0.0% (292 Bytes)

[#015] sha256:e4e0a0539fa203bcdf3709e05540dcafea198e99c13a64903af5c0a7af2a5be5 - 0.0% (5.09 KB)

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

[#017] sha256:f9607e42f1190d79751db3a8af1c06b31394a1b87be13cc38cc08f80e73e6cf0 - 0.0% (116 Bytes)

[#018] sha256:eb17d99eeb2273f4a8eee231784b2132dc4abbdb177fa13a0ec7e623ac47c21c - 0.0% (422 Bytes)

[#019] sha256:7b4d6ff44a17288dc7aafbcca46ae20cde903ab9982140293347f36221a97eeb - 0.0% (421 Bytes)

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


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

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

2026-03-03 20:17:02 UTC (buildkit.dockerfile.v0)

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

2026-03-03 20:17:02 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-03-03 20:17:02 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-03-03 20:17:02 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-03-03 20:17:02 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.13

2026-03-03 20:17:02 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

2026-03-03 20:26:22 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-03-03 20:26:22 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-03-03 20:26:22 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UID

2026-03-09 19:29: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

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG PYTHON_BASE_IMAGE

2026-03-09 19:29: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

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_DEPS=

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_DEPS=

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_COMMAND=echo

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_COMMAND=

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_ENV=

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT=true

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MSSQL_CLIENT=true

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

ARG INSTALL_POSTGRES_CLIENT=true

2026-03-09 19:29: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=

2026-03-09 19:29:58 UTC (buildkit.dockerfile.v0)

COPY install_os_dependencies.sh /scripts/docker/ # buildkit

2026-03-09 19:30:18 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-03-09 19:30:18 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow

2026-03-09 19:30:18 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2026-03-09 19:30:18 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_README_URL

2026-03-09 19:30:18 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USER_HOME_DIR

2026-03-09 19:30:18 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_HOME

2026-03-09 19:30:18 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-03-09 19:30:18 UTC (buildkit.dockerfile.v0)

COPY common.sh /scripts/docker/ # buildkit

2026-03-09 19:30:18 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:30:36 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-03-09 19:30:36 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_FROM

2026-03-09 19:30:36 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_TO

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

COPY /Dockerfile /Dockerfile # buildkit

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

COPY entrypoint_prod.sh /entrypoint # buildkit

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:36 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-03-09 19:38:36 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-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_VERSION

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_PIP_VERSION

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UV_VERSION

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USE_UV

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=2.11.2rc1 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=26.0.1 AIRFLOW_UV_VERSION=0.10.9 AIRFLOW_USE_UV=false

2026-03-09 19:38:36 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.2rc1 AIRFLOW_PIP_VERSION=26.0.1 AIRFLOW_UV_VERSION=0.10.9 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

COPY pip /root/bin/pip # buildkit

2026-03-09 19:38:36 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.2rc1 AIRFLOW_PIP_VERSION=26.0.1 AIRFLOW_UV_VERSION=0.10.9 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/airflow

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

USER 50000

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ARG BUILD_ID

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_DATE_CREATED

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

ENV BUILD_ID= COMMIT_SHA=8bf498965c87d562486a8e9344ccdb84aa351b2d

2026-03-09 19:38:36 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.2rc1 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=8bf498965c87d562486a8e9344ccdb84aa351b2d 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.2rc1 org.opencontainers.image.revision=8bf498965c87d562486a8e9344ccdb84aa351b2d 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-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:36 UTC (buildkit.dockerfile.v0)

CMD []

Details
Created

2026-03-09 19:38:54 UTC

Size

218 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
    8bf498965c87d562486a8e9344ccdb84aa351b2d
  • org.apache.airflow.module
    airflow
  • org.apache.airflow.uid
    50000
  • org.apache.airflow.version
    2.11.2rc1
  • 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
    8bf498965c87d562486a8e9344ccdb84aa351b2d
  • 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.2rc1

Environment
ADDITIONAL_RUNTIME_APT_COMMAND

ADDITIONAL_RUNTIME_APT_DEPS

AIRFLOW_HOME

/opt/airflow

AIRFLOW_INSTALLATION_METHOD

AIRFLOW_PIP_VERSION

26.0.1

AIRFLOW_UID

50000

AIRFLOW_USER_HOME_DIR

/home/airflow

AIRFLOW_USE_UV

false

AIRFLOW_UV_VERSION

0.10.9

AIRFLOW_VERSION

2.11.2rc1

AIRFLOW__CORE__LOAD_EXAMPLES

false

BUILD_ID

COMMIT_SHA

8bf498965c87d562486a8e9344ccdb84aa351b2d

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

c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

PYTHON_VERSION

3.12.13

RUNTIME_APT_COMMAND

echo

RUNTIME_APT_DEPS

UV_CACHE_DIR

/tmp/.cache/uv

VIRTUAL_ENV

/home/airflow/.local


Layers

[#000] sha256:eb04ef52de3a23999fcda632f100324a4d1dbebd588b4df190c4a172bb88c603 - 12.28% (26.8 MB)

[#001] sha256:3970e126a3c9320e3d33b0d31bf6e25cd43d126042b715a05c0d4698d0acf6f7 - 1.46% (3.19 MB)

[#002] sha256:b305f33cc6f620ef8edcf8accc698e4f19de143c149385294496d8f47bbc0f24 - 5.94% (13 MB)

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

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

[#005] sha256:36de8da5c26dd6a111212a3d8f14a9bb31e8bee2a433ef98d09b2986f7c2b50f - 38.9% (84.9 MB)

[#006] sha256:9e77413dff555d106da56ffcb898f88d7924e6a89140f2d4bf00ab19e97e3f52 - 0.0% (2.25 KB)

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

[#008] sha256:a73989e14a66d57f7470a118edfcb2c9dce4e1ec1603fc97f718a738e66f17a0 - 9.72% (21.2 MB)

[#009] sha256:1224bb345ff685f044390f3a3cc66f595234b1069f1d563a4ef307636c0eb7a7 - 31.68% (69.1 MB)

[#010] sha256:85d7ef048914b42d1b67856b1c9bc060dcbc4290f9d43a33a22a4e47e26ba848 - 0.0% (7.29 KB)

[#011] sha256:ec41d036f989cb55b625d18cea0242cfebea5b20008557bee94a408e8b194d2b - 0.01% (17.4 KB)

[#012] sha256:1376dd99243f3f96570d153c7ce412e392f7126ac9aca9895c50aecc9e220a2a - 0.0% (3.78 KB)

[#013] sha256:2e1b2dc1fbfb3068303a7dcee9c9d063b12f3a841d43f4756c4392ea7dc7669d - 0.0% (493 Bytes)

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

[#015] sha256:9b5c64a48f62e5e14761d66b96b1fc3edbb0f311a573efddeda263302fc4243c - 0.0% (5.09 KB)

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

[#017] sha256:4e36ec1a3adf00828678e1c68e2b554850c8ce1b1681a89ec04bbd4e9ebec685 - 0.0% (115 Bytes)

[#018] sha256:272d6a7a29f4da35a0415fdee914bf8f4a5afb8881d3b503e2a2182e27cdd0af - 0.0% (422 Bytes)

[#019] sha256:35f2f6986704b5e2e0ce8f14a623f80b7706def9c150300011fc8ff8082105a2 - 0.0% (421 Bytes)

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


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

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

2026-03-03 20:16:51 UTC (buildkit.dockerfile.v0)

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

2026-03-03 20:16:51 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-03-03 20:16:51 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-03-03 20:16:51 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-03-03 20:16:51 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.13

2026-03-03 20:16:51 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

2026-03-03 20:28:17 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-03-03 20:28:17 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-03-03 20:28:17 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UID

2026-03-09 19:30:39 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-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG PYTHON_BASE_IMAGE

2026-03-09 19:30:39 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-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_DEPS=

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_DEPS=

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_COMMAND=echo

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_COMMAND=

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_ENV=

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT=true

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MSSQL_CLIENT=true

2026-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

ARG INSTALL_POSTGRES_CLIENT=true

2026-03-09 19:30:39 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-03-09 19:30:39 UTC (buildkit.dockerfile.v0)

COPY install_os_dependencies.sh /scripts/docker/ # buildkit

2026-03-09 19:31:07 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-03-09 19:31:07 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow

2026-03-09 19:31:07 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2026-03-09 19:31:07 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_README_URL

2026-03-09 19:31:07 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USER_HOME_DIR

2026-03-09 19:31:07 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_HOME

2026-03-09 19:31:07 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-03-09 19:31:07 UTC (buildkit.dockerfile.v0)

COPY common.sh /scripts/docker/ # buildkit

2026-03-09 19:31:07 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:31:30 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-03-09 19:31:30 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_FROM

2026-03-09 19:31:30 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_TO

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

COPY /Dockerfile /Dockerfile # buildkit

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

COPY entrypoint_prod.sh /entrypoint # buildkit

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:53 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-03-09 19:38:53 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-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_VERSION

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_PIP_VERSION

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UV_VERSION

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USE_UV

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=2.11.2rc1 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=26.0.1 AIRFLOW_UV_VERSION=0.10.9 AIRFLOW_USE_UV=false

2026-03-09 19:38:53 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.2rc1 AIRFLOW_PIP_VERSION=26.0.1 AIRFLOW_UV_VERSION=0.10.9 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit

2026-03-09 19:38:53 UTC (buildkit.dockerfile.v0)

COPY pip /root/bin/pip # buildkit

2026-03-09 19:38:54 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.2rc1 AIRFLOW_PIP_VERSION=26.0.1 AIRFLOW_UV_VERSION=0.10.9 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit

2026-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/airflow

2026-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2026-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

USER 50000

2026-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

ARG BUILD_ID

2026-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA

2026-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2026-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_DATE_CREATED

2026-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

ENV BUILD_ID= COMMIT_SHA=8bf498965c87d562486a8e9344ccdb84aa351b2d

2026-03-09 19:38:54 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.2rc1 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=8bf498965c87d562486a8e9344ccdb84aa351b2d 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.2rc1 org.opencontainers.image.revision=8bf498965c87d562486a8e9344ccdb84aa351b2d 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-03-09 19:38:54 UTC (buildkit.dockerfile.v0)

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

2026-03-09 19:38:54 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