Namespace
apache
Image / Tag
airflow:3.0.4rc2-python3.10
Content Digest
sha256:877cbe5b0e2a367827507a1b7a9cf44e6ae245699d1a0943428a688e48e87e8e
Details
Created

2025-08-06 14:52:20 UTC

Size

602 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
    489cf2740240bdac1f8800149d273a8350a23e3a
  • org.apache.airflow.module
    airflow
  • org.apache.airflow.uid
    50000
  • org.apache.airflow.version
    3.0.4rc2
  • 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
    489cf2740240bdac1f8800149d273a8350a23e3a
  • 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.4rc2

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.4

AIRFLOW_VERSION

3.0.4rc2

AIRFLOW__CORE__LOAD_EXAMPLES

false

BUILD_ID

COMMIT_SHA

489cf2740240bdac1f8800149d273a8350a23e3a

DEBIAN_FRONTEND

noninteractive

DUMB_INIT_SETSID

1

GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

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.10-slim-bookworm

PYTHON_SHA256

ae665bc678abd9ab6a6e1573d2481625a53719bc517e9a634ed2b9fefae3817f

PYTHON_VERSION

3.10.18

RUNTIME_APT_COMMAND

echo

RUNTIME_APT_DEPS

UV_CACHE_DIR

/tmp/.cache/uv

VIRTUAL_ENV

/home/airflow/.local


Layers

[#000] sha256:59e22667830bf04fb35e15ed9c70023e9d121719bb87f0db7f3159ee7c7e0b8d - 4.48% (26.9 MB)

[#001] sha256:12b8240e46e9f448e7eba19870e233d03c7160ca9b1777ab3ec2eeddf4349fa8 - 0.56% (3.35 MB)

[#002] sha256:3fa1124e7cf3ed5061a51b47c3e7a138e1b25dce3c94e9967a6b2a9acfe36402 - 2.48% (14.9 MB)

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

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

[#005] sha256:ca5729bc2d4c2db8502fc278739182be757864bb1e4f64278c729ddfb3fbec6a - 17.53% (105 MB)

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

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

[#008] sha256:a88956e4d93130a66135429eba9541915a82cd424b4d35254e04538d43ea7bde - 3.53% (21.2 MB)

[#009] sha256:51ca16ad521e917f84d1fd67975757f4668e407432e10029cf36b439435baa69 - 71.42% (430 MB)

[#010] sha256:c0f54e63e91f95e46622903b4ad3fb42cda3d733d40d77c51f9acae084bd9049 - 0.0% (7.6 KB)

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

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

[#013] sha256:0b641e2fb1c155809bd3dbc8907a7a4939fb6f8f7796b1d7722bb78586bdac7b - 0.0% (520 Bytes)

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

[#015] sha256:878b3d172c78222bc617168e3b89607a6ce5a1300ca9e886634b0280ba4c3d9d - 0.0% (5.19 KB)

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

[#017] sha256:6aae1e6ac53d42e4cc6149322588a967ee776a7165e509fd9764872e66386cff - 0.0% (114 Bytes)

[#018] sha256:2db185dd98c297153c908ad2ec6f7ccbdf4371e6263c1e7d13ebac0fa55de980 - 0.0% (430 Bytes)

[#019] sha256:54c85b59cf4d3dc0f893e93ad2e40844ec0854169f062bc4aef74ebb32cf56d1 - 0.0% (429 Bytes)

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


History
2025-06-03 21:49:13 UTC (debuerreotype 0.15)

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

2025-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

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

2025-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-06-03 21:49:13 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-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2025-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.10.18

2025-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=ae665bc678abd9ab6a6e1573d2481625a53719bc517e9a634ed2b9fefae3817f

2025-06-03 21:49:13 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-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; 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 -r dpkg-query --search | cut -d: -f1 | 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==65.5.1' 'wheel<0.46' ; pip3 --version # buildkit

2025-06-03 21:49:13 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-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UID

2025-08-06 14:48:31 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-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG PYTHON_BASE_IMAGE

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ENV PYTHON_BASE_IMAGE=python:3.10-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-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_DEPS=

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_DEPS=

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_COMMAND=echo

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_COMMAND=

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_ENV=

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT=true

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MSSQL_CLIENT=true

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG INSTALL_POSTGRES_CLIENT=true

2025-08-06 14:48:31 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow

2025-08-06 14:48:31 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-06 14:48:31 UTC (buildkit.dockerfile.v0)

COPY install_os_dependencies.sh /scripts/docker/ # buildkit

2025-08-06 14:48:54 UTC (buildkit.dockerfile.v0)

RUN |12 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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-06 14:48:54 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2025-08-06 14:48:54 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_README_URL

2025-08-06 14:48:54 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USER_HOME_DIR

2025-08-06 14:48:54 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_HOME

2025-08-06 14:48:54 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_TYPE

2025-08-06 14:48:54 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-06 14:48:54 UTC (buildkit.dockerfile.v0)

COPY common.sh /scripts/docker/ # buildkit

2025-08-06 14:48:54 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:49:16 UTC (buildkit.dockerfile.v0)

RUN |17 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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-06 14:49:16 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_FROM

2025-08-06 14:49:16 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_TO

2025-08-06 14:52:19 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

COPY /Dockerfile /Dockerfile # buildkit

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

COPY entrypoint_prod.sh /entrypoint # buildkit

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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-06 14:52:20 UTC (buildkit.dockerfile.v0)

RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_VERSION

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_PIP_VERSION

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SETUPTOOLS_VERSION

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UV_VERSION

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USE_UV

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=3.0.4rc2 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.4 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_USE_UV=false

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

RUN |24 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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.4rc2 AIRFLOW_PIP_VERSION=25.2 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_UV_VERSION=0.8.4 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

COPY pip /root/bin/pip # buildkit

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

RUN |24 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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.4rc2 AIRFLOW_PIP_VERSION=25.2 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_UV_VERSION=0.8.4 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/airflow

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

USER 50000

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG BUILD_ID

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_DATE_CREATED

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

ENV BUILD_ID= COMMIT_SHA=489cf2740240bdac1f8800149d273a8350a23e3a

2025-08-06 14:52:20 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.4rc2 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=489cf2740240bdac1f8800149d273a8350a23e3a 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.4rc2 org.opencontainers.image.revision=489cf2740240bdac1f8800149d273a8350a23e3a 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-06 14:52:20 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:52:20 UTC (buildkit.dockerfile.v0)

CMD []

Details
Created

2025-08-06 14:54:08 UTC

Size

590 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
    489cf2740240bdac1f8800149d273a8350a23e3a
  • org.apache.airflow.module
    airflow
  • org.apache.airflow.uid
    50000
  • org.apache.airflow.version
    3.0.4rc2
  • 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
    489cf2740240bdac1f8800149d273a8350a23e3a
  • 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.4rc2

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.4

AIRFLOW_VERSION

3.0.4rc2

AIRFLOW__CORE__LOAD_EXAMPLES

false

BUILD_ID

COMMIT_SHA

489cf2740240bdac1f8800149d273a8350a23e3a

DEBIAN_FRONTEND

noninteractive

DUMB_INIT_SETSID

1

GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

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.10-slim-bookworm

PYTHON_SHA256

ae665bc678abd9ab6a6e1573d2481625a53719bc517e9a634ed2b9fefae3817f

PYTHON_VERSION

3.10.18

RUNTIME_APT_COMMAND

echo

RUNTIME_APT_DEPS

UV_CACHE_DIR

/tmp/.cache/uv

VIRTUAL_ENV

/home/airflow/.local


Layers

[#000] sha256:b3407f3b5b5beb45007b2980ccef71785b08dae5a2dcbdd91272f35c4c5e784f - 4.54% (26.8 MB)

[#001] sha256:27b1542b92578c5ae2fdd86937dbb3ff246ba74c2666b93d03369b030c2f6128 - 0.54% (3.18 MB)

[#002] sha256:cb3cc4ee64b50d92083a210d932ab3895234bbbd893738501eca44406d605302 - 2.52% (14.9 MB)

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

[#004] sha256:cb496732356b94a0ad2ee5a3e164a8817a283dd03166c1cddf13f72764e65b62 - 0.0% (1.48 KB)

[#005] sha256:df01fec6b21aba688f0ccb2296d8b95d24e1adcc50d693aa65daa1b388bace84 - 17.59% (104 MB)

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

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

[#008] sha256:8c19577059d911abb978be768ed06e07c8da482e269e776ce1e4c88aa2a880db - 3.57% (21.1 MB)

[#009] sha256:1884e19c2156ba15ebc7368bcf07c336381dcb46e2488f4f51b261c2048fe02c - 71.23% (420 MB)

[#010] sha256:397bef81816621e2a9b206770b22aa6337db3c6a039c7520a3a70d9ce7450d93 - 0.0% (7.6 KB)

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

[#012] sha256:6fef21fb3ae766ddddd8e79642fa6fbc79dbd13b377c4ab7cfca669aba23ca68 - 0.0% (3.84 KB)

[#013] sha256:6d214ef9f8d8f49f0fd18a29af57ea8be925545341cf63e90fc8a7cf5863bbc5 - 0.0% (520 Bytes)

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

[#015] sha256:106734facfd36b1af768e1bc5a14a28f9c8de4c51cba71ef9e36b15e7b869eb4 - 0.0% (5.19 KB)

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

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

[#018] sha256:766b1fb11707452a38adcbe558989c7117920426fe14d8595f47b7b6b1e8f2fc - 0.0% (431 Bytes)

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

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


History
2025-06-03 21:49:13 UTC (debuerreotype 0.15)

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

2025-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

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

2025-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-06-03 21:49:13 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-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2025-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.10.18

2025-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=ae665bc678abd9ab6a6e1573d2481625a53719bc517e9a634ed2b9fefae3817f

2025-06-03 21:49:13 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-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; 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 -r dpkg-query --search | cut -d: -f1 | 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==65.5.1' 'wheel<0.46' ; pip3 --version # buildkit

2025-06-03 21:49:13 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-06-03 21:49:13 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UID

2025-08-06 14:49: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.uid=50000

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG PYTHON_BASE_IMAGE

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ENV PYTHON_BASE_IMAGE=python:3.10-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-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_DEPS=

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_DEPS=

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_APT_COMMAND=echo

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_COMMAND=

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG ADDITIONAL_RUNTIME_APT_ENV=

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT=true

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MYSQL_CLIENT_TYPE=mariadb

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG INSTALL_MSSQL_CLIENT=true

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG INSTALL_POSTGRES_CLIENT=true

2025-08-06 14:49:21 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_INSTALLATION_METHOD=apache-airflow

2025-08-06 14:49:21 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-06 14:49:21 UTC (buildkit.dockerfile.v0)

COPY install_os_dependencies.sh /scripts/docker/ # buildkit

2025-08-06 14:49:51 UTC (buildkit.dockerfile.v0)

RUN |12 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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-06 14:49:51 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2025-08-06 14:49:51 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_README_URL

2025-08-06 14:49:51 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USER_HOME_DIR

2025-08-06 14:49:51 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_HOME

2025-08-06 14:49:51 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_TYPE

2025-08-06 14:49:51 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-06 14:49:51 UTC (buildkit.dockerfile.v0)

COPY common.sh /scripts/docker/ # buildkit

2025-08-06 14:49:51 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:50:17 UTC (buildkit.dockerfile.v0)

RUN |17 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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-06 14:50:17 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_FROM

2025-08-06 14:50:17 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SOURCES_TO

2025-08-06 14:54:06 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:54:07 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:54:07 UTC (buildkit.dockerfile.v0)

COPY /Dockerfile /Dockerfile # buildkit

2025-08-06 14:54:07 UTC (buildkit.dockerfile.v0)

COPY entrypoint_prod.sh /entrypoint # buildkit

2025-08-06 14:54:07 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:54:07 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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-06 14:54:08 UTC (buildkit.dockerfile.v0)

RUN |19 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_VERSION

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_PIP_VERSION

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_SETUPTOOLS_VERSION

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_UV_VERSION

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_USE_UV

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ENV DUMB_INIT_SETSID=1 PS1=(airflow) AIRFLOW_VERSION=3.0.4rc2 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.4 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_USE_UV=false

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

RUN |24 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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.4rc2 AIRFLOW_PIP_VERSION=25.2 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_UV_VERSION=0.8.4 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c mkdir -pv /root/bin # buildkit

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

COPY pip /root/bin/pip # buildkit

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

RUN |24 AIRFLOW_UID=50000 PYTHON_BASE_IMAGE=python:3.10-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.4rc2 AIRFLOW_PIP_VERSION=25.2 AIRFLOW_SETUPTOOLS_VERSION=80.9.0 AIRFLOW_UV_VERSION=0.8.4 AIRFLOW_USE_UV=false /bin/bash -o pipefail -o errexit -o nounset -o nolog -c chmod u+x /root/bin/pip # buildkit

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/airflow

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

USER 50000

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG BUILD_ID

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_REPOSITORY

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ARG AIRFLOW_IMAGE_DATE_CREATED

2025-08-06 14:54:08 UTC (buildkit.dockerfile.v0)

ENV BUILD_ID= COMMIT_SHA=489cf2740240bdac1f8800149d273a8350a23e3a

2025-08-06 14:54:08 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.4rc2 org.apache.airflow.uid=50000 org.apache.airflow.main-image.build-id= org.apache.airflow.main-image.commit-sha=489cf2740240bdac1f8800149d273a8350a23e3a 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.4rc2 org.opencontainers.image.revision=489cf2740240bdac1f8800149d273a8350a23e3a 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-06 14:54:08 UTC (buildkit.dockerfile.v0)

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

2025-08-06 14:54:08 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