Lework Study hard, improve every day.

学习周报「2024」8月

2024-08-01
lework
本文 900 字,阅读全文约需 3 分钟

以每周一个节点,记录知识点。

2024-08-05~11

清理单个docker buildkit cache

docker buildkit cache 使用方式

FROM harbor.ickey.com.cn/common/node:16.15-debian10 as builder

ARG APP=undefined \
    APP_ENV=test
ENV APP=$APP \
    APP_ENV=$APP_ENV

WORKDIR /app_build

COPY ./ ./

RUN --mount=type=cache,id=${APP}-npm,target=/root/.npm \
    --mount=type=cache,id=${APP}-modules,target=./node_modules \
    npm install && npm run build:${APP_ENV}

docker buildkit cache 本地信息

# docker buildx du --verbose

# 会输出以下内容
ID:             o46ii19k9r4ripvx799m7rbf1
Created at:     2024-08-06 07:50:14.265215424 +0000 UTC
Mutable:        true
Reclaimable:    true
Shared:         false
Size:           338.7MB
Description:    cached mount /app_build/node_modules from exec /bin/sh -c npm install && cd packages/${APP} && npm run build:${APP_ENV}

通过上面两个信息来看,是没办法通过id 关键字来匹配上的,只能通过Description中的挂载目录关键字来查找,然后进行删除清理。

docker buildx du --verbose | grep -B6 node_modules | awk  '/ID:/ {print $2}' | xargs -I{} docker buildx prune --filter="ID={}" -f --verbose
原文地址 https://lework.github.io/2024/08/01/Aug/

Similar Posts

Comments