镜像构建历史
# 2025-09-25 16:11:08 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/usr/bin/tini" "-g" "--" "/opt/prefect/entrypoint.sh"]
# 2025-09-25 16:11:08 485.00B 复制新文件或目录到容器中
COPY scripts/entrypoint.sh ./entrypoint.sh # buildkit
# 2025-09-25 16:11:08 55.02KB 执行命令并创建新的镜像层
RUN |2 PREFECT_EXTRAS=[redis,client,otel] EXTRA_PIP_PACKAGES= /bin/bash --login -c prefect version # buildkit
# 2025-09-25 16:11:03 0.00B 执行命令并创建新的镜像层
RUN |2 PREFECT_EXTRAS=[redis,client,otel] EXTRA_PIP_PACKAGES= /bin/bash --login -c [ -z "${EXTRA_PIP_PACKAGES:-""}" ] || uv pip install "${EXTRA_PIP_PACKAGES}" # buildkit
# 2025-09-25 16:11:02 0.00B 定义构建参数
ARG EXTRA_PIP_PACKAGES
# 2025-09-25 16:11:02 1.14KB 执行命令并创建新的镜像层
RUN |1 PREFECT_EXTRAS=[redis,client,otel] /bin/bash --login -c uv pip uninstall setuptools # buildkit
# 2025-09-25 16:11:00 237.31MB 执行命令并创建新的镜像层
RUN |1 PREFECT_EXTRAS=[redis,client,otel] /bin/bash --login -c uv pip install "./dist/prefect.tar.gz${PREFECT_EXTRAS:-""}" && rm -rf dist/ # buildkit
# 2025-09-25 16:10:49 0.00B 定义构建参数
ARG PREFECT_EXTRAS=[redis,client,otel]
# 2025-09-25 16:10:49 5.62MB 复制新文件或目录到容器中
COPY /opt/prefect/dist ./dist # buildkit
# 2025-09-25 16:09:54 39.54MB 复制新文件或目录到容器中
COPY /uv /bin/uv # buildkit
# 2025-09-25 16:09:54 260.72MB 执行命令并创建新的镜像层
RUN /bin/bash --login -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-09-25 16:09:37 0.00B 设置工作目录为/opt/prefect
WORKDIR /opt/prefect
# 2025-09-25 16:09:37 0.00B 添加元数据标签
LABEL maintainer=help@prefect.io io.prefect.python-version=3.11 org.label-schema.schema-version=1.0 org.label-schema.name=prefect org.label-schema.url=https://www.prefect.io/
# 2025-09-25 16:09:37 0.00B 设置环境变量 UV_SYSTEM_PYTHON
ENV UV_SYSTEM_PYTHON=1
# 2025-09-25 16:09:37 0.00B 设置环境变量 UV_LINK_MODE
ENV UV_LINK_MODE=copy
# 2025-09-25 16:09:37 0.00B 设置环境变量 UV_COMPILE_BYTECODE
ENV UV_COMPILE_BYTECODE=1
# 2025-09-25 16:09:37 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2025-09-25 16:09:37 0.00B 设置环境变量 LC_ALL
ENV LC_ALL=C.UTF-8
# 2025-09-25 16:09:37 0.00B
SHELL [/bin/bash --login -c]
# 2025-09-25 16:09:37 645.00B 执行命令并创建新的镜像层
RUN |1 PYTHON_VERSION=3.11 /bin/sh -c echo "conda activate prefect" >> ~/.bashrc # buildkit
# 2025-09-25 16:09:36 504.46MB 执行命令并创建新的镜像层
RUN |1 PYTHON_VERSION=3.11 /bin/sh -c conda create python=${PYTHON_VERSION} --name prefect # buildkit
# 2025-09-25 16:09:36 0.00B 定义构建参数
ARG PYTHON_VERSION
# 2025-05-05 22:42:58 385.51MB 执行命令并创建新的镜像层
RUN |4 INSTALLER_URL_LINUX64=https://repo.anaconda.com/miniconda/Miniconda3-py313_25.3.1-1-Linux-x86_64.sh SHA256SUM_LINUX64=53a86109463cfd70ba7acab396d416e623012914eee004729e1ecd6fe94e8c69 INSTALLER_URL_AARCH64=https://repo.anaconda.com/miniconda/Miniconda3-py313_25.3.1-1-Linux-aarch64.sh SHA256SUM_AARCH64=4caa0c266ab726b440ccad40a74774167494e001da5de281b74f2d5673e4ace9 /bin/sh -c set -x && UNAME_M="$(uname -m)" && if [ "${UNAME_M}" = "x86_64" ]; then INSTALLER_URL="${INSTALLER_URL_LINUX64}"; SHA256SUM="${SHA256SUM_LINUX64}"; elif [ "${UNAME_M}" = "aarch64" ]; then INSTALLER_URL="${INSTALLER_URL_AARCH64}"; SHA256SUM="${SHA256SUM_AARCH64}"; fi && wget "${INSTALLER_URL}" -O miniconda.sh -q && echo "${SHA256SUM} miniconda.sh" > shasum && sha256sum --check --status shasum && mkdir -p /opt && bash miniconda.sh -b -p /opt/conda && rm miniconda.sh shasum && ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && echo "conda activate" >> ~/.bashrc && find /opt/conda/ -follow -type f -name '*.a' -delete && find /opt/conda/ -follow -type f -name '*.js.map' -delete && /opt/conda/bin/conda clean -afy # buildkit
# 2025-05-05 22:42:46 0.00B 定义构建参数
ARG SHA256SUM_AARCH64=4caa0c266ab726b440ccad40a74774167494e001da5de281b74f2d5673e4ace9
# 2025-05-05 22:42:46 0.00B 定义构建参数
ARG INSTALLER_URL_AARCH64=https://repo.anaconda.com/miniconda/Miniconda3-py313_25.3.1-1-Linux-aarch64.sh
# 2025-05-05 22:42:46 0.00B 定义构建参数
ARG SHA256SUM_LINUX64=53a86109463cfd70ba7acab396d416e623012914eee004729e1ecd6fe94e8c69
# 2025-05-05 22:42:46 0.00B 定义构建参数
ARG INSTALLER_URL_LINUX64=https://repo.anaconda.com/miniconda/Miniconda3-py313_25.3.1-1-Linux-x86_64.sh
# 2025-05-05 22:42:46 0.00B 设置默认要执行的命令
CMD ["/bin/bash"]
# 2025-05-05 22:42:46 0.00B 设置环境变量 PATH
ENV PATH=/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-05-05 22:42:46 176.65MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update -q && apt-get install -q -y --no-install-recommends bzip2 ca-certificates git libglib2.0-0 libsm6 libxext6 libxrender1 mercurial openssh-client procps subversion wget && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
# 2025-05-05 22:42:46 0.00B 设置环境变量 LANG LC_ALL
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 2025-05-05 22:42:46 0.00B 添加元数据标签
LABEL maintainer=Anaconda, Inc
# 2025-04-28 08:00:00 74.83MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1745798400'
镜像信息
{
"Id": "sha256:55e266eadf3540e530044ecb75691c7d867fb920dd70d44bb1dba2e8922a4513",
"RepoTags": [
"prefecthq/prefect:3.4.20.dev2-python3.11-conda",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/prefecthq/prefect:3.4.20.dev2-python3.11-conda"
],
"RepoDigests": [
"prefecthq/prefect@sha256:af5cce066cc648ae6ac93b25c3dae9cac86f4261bd518d7e3810d72bfeb63cdf",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/prefecthq/prefect@sha256:ccace663a7004051370b940b0d69105b77ba86559e22c39860c1152307672ed9"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-09-25T08:11:08.829255727Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"LC_ALL=C.UTF-8",
"UV_COMPILE_BYTECODE=1",
"UV_LINK_MODE=copy",
"UV_SYSTEM_PYTHON=1"
],
"Cmd": null,
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/opt/prefect",
"Entrypoint": [
"/usr/bin/tini",
"-g",
"--",
"/opt/prefect/entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"io.prefect.python-version": "3.11",
"maintainer": "help@prefect.io",
"org.label-schema.name": "prefect",
"org.label-schema.schema-version": "1.0",
"org.label-schema.url": "https://www.prefect.io/",
"org.opencontainers.image.created": "2025-09-25T08:08:55.727Z",
"org.opencontainers.image.description": "Prefect is a workflow orchestration framework for building resilient data pipelines in Python.",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.revision": "11a83d5bc22024732ffc982a591f0ab14aec92e6",
"org.opencontainers.image.source": "https://github.com/PrefectHQ/prefect",
"org.opencontainers.image.title": "prefect",
"org.opencontainers.image.url": "https://github.com/PrefectHQ/prefect",
"org.opencontainers.image.version": "3.4.20.dev2-python3.11-conda"
},
"Shell": [
"/bin/bash",
"--login",
"-c"
]
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1684686027,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/def9d371d8505a69f279a1141d02046a41a9c1913c0d63b30b2d88d1608e5551/diff:/var/lib/docker/overlay2/b48f4f0feafd88f4462e1f50c2c9206f6410ac78936457fd90fd79eb833e6d1e/diff:/var/lib/docker/overlay2/8add33f802357a6d836c745de92ff326935ef77d835ccfef10b06d1fecddaca5/diff:/var/lib/docker/overlay2/5889e6c612b0ac83a1167897d6bfb62a1fa296797e4793321aaba2f9a52367ca/diff:/var/lib/docker/overlay2/11e6c8d390ee0f4e5ec5c143196e29e983c20be922a00e23cca05e6eea0bfd4c/diff:/var/lib/docker/overlay2/bb32a4b6c30e5d44b9b80d4e288ff18390e641b0b711f4ee27a8168ac80d16cb/diff:/var/lib/docker/overlay2/ae1baf7c6841dd8718c9659dd8bef069849dbd3a4f65c07aad689b16c8dc70a8/diff:/var/lib/docker/overlay2/f0eba46c11b7ba2238c6ed800495ef5466f6a1aa05c082eabc4cf3d1483e4ed0/diff:/var/lib/docker/overlay2/285e873ce077eca6a69c3755528de0baf9df1887e98f44df60a2b8e884ef3f02/diff:/var/lib/docker/overlay2/70cd88edf2c09a68eeded7b2bcd0a9b939be93c8081eec32be20432fbdc9d7e9/diff:/var/lib/docker/overlay2/0fbf7fcb18a22b256d7e1380ae56c9fc32e2cd6d86536512c2964c05f6f272f6/diff:/var/lib/docker/overlay2/882411663b800dc9a75eec280c4e3a6bde71e508ac220b6b2ddd29ab33409081/diff:/var/lib/docker/overlay2/cd9cb36f82b4a6a570304a082a3d97b369643777f7f7b25df6d47ffb3b3d36ab/diff",
"MergedDir": "/var/lib/docker/overlay2/f56ecad3721b25e43808afe954002b3270cb61cf94458f924cc27a9f09e3fe26/merged",
"UpperDir": "/var/lib/docker/overlay2/f56ecad3721b25e43808afe954002b3270cb61cf94458f924cc27a9f09e3fe26/diff",
"WorkDir": "/var/lib/docker/overlay2/f56ecad3721b25e43808afe954002b3270cb61cf94458f924cc27a9f09e3fe26/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:6c4c763d22d0c5f9b2c5901dfa667fbbc4713cee6869336b8fd5022185071f1c",
"sha256:99198bd9bce791377dbb1094b94fb129b1bc39d727645d472b65015d9dc4df7a",
"sha256:5ce2bff3f7135106a25e76da6cc32bdf2d0b2b75081caf5e3f49bc43b55d8481",
"sha256:15d2b1bc723d7a3924690b6f6e5f1087d5fa5afa914dfc43459de77f8446b331",
"sha256:c44d56723e706d813eb804e6e5cbb1cd9b24827f72060ee56384d9dbbd429b3c",
"sha256:2dc253887875aafae9e021ffb4cf6dc254d9be4f308d6966f0c90819efe49093",
"sha256:479f0ec251001593add67f8a8b829dbb46bcce747ff07467cf8fb189be3c0594",
"sha256:8de707ddf2b6f3430cfda33c6f5f481abf579755bb21376f8df121f9962727bb",
"sha256:0777b43702fd2f5b201fd1d1d933b9df48e8744cc8936e349c803d231b589e08",
"sha256:adc9bfcde5956c14ab6ed272344a5679080cdd0267260a5d4f4b54282858aa62",
"sha256:537666cd5b6507ae12f9c0ee9c04b202551f0e88fc38ee0cf97e379123825bcd",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:1c23646dd70b73d987b52a8eb15416ed0507ee9b9a93facaac9a4f34730be9e4",
"sha256:7da539968e5d73375d3f6e9099accd28381c45ab646fc2b74bcf7492a90a7e26"
]
},
"Metadata": {
"LastTagTime": "2025-10-01T12:09:14.912951847+08:00"
}
}