2025-11-12 02:26:41 UTC
537 MB
/duckdb/shared.db
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
LANGC.UTF-8
LC_ALLC.UTF-8
LD_LIBRARY_PATH/usr/local/lib
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIP_DISABLE_PIP_VERSION_CHECK1
PIP_NO_CACHE_DIR1
PYTHONDONTWRITEBYTECODE1
PYTHONUNBUFFERED1
PYTHON_SHA256fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4
PYTHON_VERSION3.12.12
TZAsia/Shanghai
UV_COMPILE_BYTECODE1
UV_LINK_MODEcopy
UV_SYSTEM_PYTHON1
[#000] sha256:d7ecded7702a5dbf6d0f79a71edc34b534d08f3051980e2c948fba72db3197fc - 5.28% (28.4 MB)
[#001] sha256:1d96a644cf6c54ac43db46567eadbb2c200b0ef5416557440ba2106954f491ce - 0.23% (1.23 MB)
[#002] sha256:a4f564a4a58f8e9cd4ff1e0098405cb016a02b142eee4745a9a73f92076deff6 - 2.15% (11.6 MB)
[#003] sha256:31ac69cb4246e72a40eb76f4573038f94f6b6c97427a863162ecd8f3fe89e475 - 0.0% (248 Bytes)
[#004] sha256:653d13b518f09ed44372862e054b1041c96313f50d22d00343b5fe24ebf06edd - 0.0% (113 Bytes)
[#005] sha256:7be7f8c3153a66e90af8cf65efc32d3c7f4dd1b5cec690ae66b5b3667458f4a0 - 22.91% (123 MB)
[#006] sha256:bbd6d46411bd6c490c4a6ad2de451241a214aee326a0db6d629132264eeb30bb - 1.75% (9.4 MB)
[#007] sha256:73da5ff017166f61e7a87dd85fead6884d23734e1ef9e9ae641a4e8c93fb2a78 - 0.03% (174 KB)
[#008] sha256:0cc96a36b6a4857205f6b0dfbc85a98c1fd265d830bede59f3e9ec5e89862cb7 - 0.53% (2.83 MB)
[#009] sha256:0fc7a0f3e8b606a787161815b1037479c0c9c42cc530494f0b45003e20277acf - 0.0% (372 Bytes)
[#010] sha256:fa724a88adec36b3b63d2e7b8d202a76eb671247ef7825e8297ecf673982831b - 0.0% (3.96 KB)
[#011] sha256:48d1d9854f6def34280aa583731af859337250e8c2d9542301a9fb3b6ac82045 - 3.0% (16.1 MB)
[#012] sha256:e4caf1f3b051721322ccb2f4b44b45c30c08e64c3a41421dd24c4fd7ac98c869 - 1.0% (5.38 MB)
[#013] sha256:3726dae7e8149ed3a5bca6b6a33e7a508fa63ff9b6925ab853357ba2ae3c382b - 15.47% (83.2 MB)
[#014] sha256:a1a96334e2380ea9e45c774bb6f5bc640e444b03987a84a7a62919849631f907 - 0.0% (849 Bytes)
[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#016] sha256:8732ec5e39cf059fdc8141712c80fce4968044c581f721657a8affc402f244a1 - 0.2% (1.07 MB)
[#017] sha256:3748031917733340cb7767780f1ce54954b56eb379bd6f1597b92956ae3eb975 - 0.0% (419 Bytes)
[#018] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#019] sha256:157eb656b4c9f9b97b1da50c7a14c26866feb8b84af04ad3152a109c3de668d5 - 0.14% (767 KB)
[#020] sha256:0291277f671f54a3baa3d90ffb62b2ff4ee1729febe290dd51c76b1adc68a677 - 0.0% (469 Bytes)
[#021] sha256:0750e5188725c5e7e87c5b6182c803a31d48276b0bd005d4961ba63deb4d0fbc - 23.81% (128 MB)
[#022] sha256:bbcda9078c69131a3ff16ac0dbd4ce5a1276a11716d429fe02d42c3fa51c343d - 0.0% (998 Bytes)
[#023] sha256:9249b99d6e8ba08acf49c14252cf3f6678ed6138e67cd53c2ffa0f2b0e9debf7 - 0.0% (992 Bytes)
[#024] sha256:e283a732b0d3557d2113ad3edda8d23bbeee8f5e5a79c0f10f1f5e119ba682a1 - 23.5% (126 MB)
[#025] sha256:aea6e8830913530c0b2a714617fa7bcf7c5591af2cb81fd50a38c7dde9f78a09 - 0.0% (137 Bytes)
# debian.sh --arch 'amd64' out/ 'trixie' '@1762202650'
2025-11-04 04:23:01 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-11-04 04:23:01 UTC (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2025-11-04 04:23:01 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit
2025-11-04 04:23:01 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-11-04 04:23:01 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12.12
2025-11-04 04:23:01 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4
2025-11-04 04:32: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' && 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; apt-get dist-clean; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-11-04 04:32:14 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-11-04 04:32:14 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ARG PYTHON_VERSION=3.12
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ARG SQLITE_VERSION=3.50.4
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ARG SQLITE_YEAR=2025
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ARG SQLITE_FILE_VERSION=3500400
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ENV LC_ALL=C.UTF-8
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ENV UV_COMPILE_BYTECODE=1
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ENV UV_LINK_MODE=copy
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ENV UV_SYSTEM_PYTHON=1
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/lib
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)LABEL maintainer=help@prefect.io io.prefect.python-version=3.12 io.prefect.sqlite-version=3.50.4 org.label-schema.schema-version=1.0 org.label-schema.name=prefect org.label-schema.url=https://www.prefect.io/
2025-11-10 17:43:52 UTC (buildkit.dockerfile.v0)WORKDIR /opt/prefect
2025-11-10 17:44:24 UTC (buildkit.dockerfile.v0)RUN |4 PYTHON_VERSION=3.12 SQLITE_VERSION=3.50.4 SQLITE_YEAR=2025 SQLITE_FILE_VERSION=3500400 /bin/sh -c apt-get update && apt-get install --no-install-recommends -y tini=0.19.* build-essential git>=1:2.47.3 && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
2025-11-10 17:46:06 UTC (buildkit.dockerfile.v0)COPY /usr/local/lib/libsqlite3* /usr/local/lib/ # buildkit
2025-11-10 17:46:06 UTC (buildkit.dockerfile.v0)COPY /usr/local/include/sqlite3*.h /usr/local/include/ # buildkit
2025-11-10 17:46:06 UTC (buildkit.dockerfile.v0)COPY /usr/local/bin/sqlite3 /usr/local/bin/ # buildkit
2025-11-10 17:46:06 UTC (buildkit.dockerfile.v0)COPY /usr/local/lib/pkgconfig/sqlite3.pc /usr/local/lib/pkgconfig/ # buildkit
2025-11-10 17:46:07 UTC (buildkit.dockerfile.v0)RUN |4 PYTHON_VERSION=3.12 SQLITE_VERSION=3.50.4 SQLITE_YEAR=2025 SQLITE_FILE_VERSION=3500400 /bin/sh -c ldconfig # buildkit
2025-11-10 17:46:07 UTC (buildkit.dockerfile.v0)COPY /uv /bin/uv # buildkit
2025-11-10 17:46:33 UTC (buildkit.dockerfile.v0)COPY /opt/prefect/dist ./dist # buildkit
2025-11-10 17:46:33 UTC (buildkit.dockerfile.v0)ARG PREFECT_EXTRAS=[redis,client,otel]
2025-11-10 17:46:52 UTC (buildkit.dockerfile.v0)RUN |5 PYTHON_VERSION=3.12 SQLITE_VERSION=3.50.4 SQLITE_YEAR=2025 SQLITE_FILE_VERSION=3500400 PREFECT_EXTRAS=[redis,client,otel] /bin/sh -c uv pip install "./dist/prefect.tar.gz${PREFECT_EXTRAS:-""}" && rm -rf dist/ # buildkit
2025-11-10 17:46:52 UTC (buildkit.dockerfile.v0)RUN |5 PYTHON_VERSION=3.12 SQLITE_VERSION=3.50.4 SQLITE_YEAR=2025 SQLITE_FILE_VERSION=3500400 PREFECT_EXTRAS=[redis,client,otel] /bin/sh -c uv pip uninstall setuptools # buildkit
2025-11-10 17:46:52 UTC (buildkit.dockerfile.v0)ARG EXTRA_PIP_PACKAGES=
2025-11-10 17:46:52 UTC (buildkit.dockerfile.v0)RUN |6 PYTHON_VERSION=3.12 SQLITE_VERSION=3.50.4 SQLITE_YEAR=2025 SQLITE_FILE_VERSION=3500400 PREFECT_EXTRAS=[redis,client,otel] EXTRA_PIP_PACKAGES= /bin/sh -c [ -z "${EXTRA_PIP_PACKAGES:-""}" ] || uv pip install "${EXTRA_PIP_PACKAGES}" # buildkit
2025-11-10 17:46:58 UTC (buildkit.dockerfile.v0)RUN |6 PYTHON_VERSION=3.12 SQLITE_VERSION=3.50.4 SQLITE_YEAR=2025 SQLITE_FILE_VERSION=3500400 PREFECT_EXTRAS=[redis,client,otel] EXTRA_PIP_PACKAGES= /bin/sh -c prefect version # buildkit
2025-11-10 17:46:58 UTC (buildkit.dockerfile.v0)COPY scripts/entrypoint.sh ./entrypoint.sh # buildkit
2025-11-10 17:46:58 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/usr/bin/tini" "-g" "--" "/opt/prefect/entrypoint.sh"]
2025-11-12 02:26:13 UTC (buildkit.dockerfile.v0)LABEL maintainer=tom.han@tomhanfriends.com
2025-11-12 02:26:13 UTC (buildkit.dockerfile.v0)LABEL description=Prefect Worker with DuckDB and all extensions
2025-11-12 02:26:13 UTC (buildkit.dockerfile.v0)WORKDIR /opt/prefect
2025-11-12 02:26:13 UTC (buildkit.dockerfile.v0)ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 DUCKDB_PATH=/duckdb/shared.db TZ=Asia/Shanghai
2025-11-12 02:26:16 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && rm -rf /var/lib/apt/lists/* # buildkit
2025-11-12 02:26:16 UTC (buildkit.dockerfile.v0)COPY requirements-worker.txt /tmp/requirements-worker.txt # buildkit
2025-11-12 02:26:35 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip install --no-cache-dir -r /tmp/requirements-worker.txt && rm /tmp/requirements-worker.txt # buildkit
2025-11-12 02:26:35 UTC (buildkit.dockerfile.v0)COPY init-duckdb.py /opt/prefect/init-duckdb.py # buildkit
2025-11-12 02:26:35 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c chmod +x /opt/prefect/init-duckdb.py # buildkit
2025-11-12 02:26:41 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c python /opt/prefect/init-duckdb.py # buildkit
2025-11-12 02:26:41 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /duckdb /tmp/prefect /root/.prefect # buildkit
2025-11-12 02:26:41 UTC (buildkit.dockerfile.v0)HEALTHCHECK &{["CMD-SHELL" "python -c \"import duckdb; import prefect; print('OK')\" || exit 1"] "30s" "10s" "5s" "0s" '\x03'}
2025-11-12 02:26:41 UTC (buildkit.dockerfile.v0)CMD ["prefect" "worker" "start" "--pool" "default-pool" "--type" "process"]
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.