dockerfile构建加速方法

docker 镜像 cache

分层构建,充分利用每一层的镜像缓存

FROM hub.ceshiren.com/ceba_base_image/python:3.10.11-slim

ARG BRANCH_NAME=main
WORKDIR /data

# 分成两层
ADD devops devops
RUN --mount=type=cache,target=/data/venv \
    bash -x devops/bin/package_python.sh install_deps

ADD . .
RUN --mount=type=cache,target=/data/venv \
    bash -x devops/bin/package_python.sh install_app ${BRANCH_NAME}

CMD ["hogwarts-ppt-server"]

docker build run mount

RUN --mount 允许您创建构建可以访问的文件系统挂载。这可用于: 创建到主机文件系统或其他构建阶段的绑定挂载 访问构建机密或 ssh-agent 套接字 使用持久包管理缓存来加速构建

ADD devops devops
RUN --mount=type=cache,target=/data/venv \
    bash -x devops/bin/package_python.sh install_deps

多阶段构建

本地缓存 Local Cache