我在 gitlab 的项目中有一个 ci/cd 自动化,在将我的代码推送到 master 分支后,gitlab 运行程序在我的服务器上创建一个新的 docker 映像,并将最新提交哈希设置为该映像上的标签,并使用新映像重新创建容器。一段时间后,有很多未使用的图像,我想自动删除它们。
我手动删除旧图像。
这是我的 Makefile
NAME := farvisun/javabina
TAG := $$(git log -1 --pretty=%h)
IMG := ${NAME}:${TAG}
LATEST := ${NAME}:latest
app_build:
docker build -t ${IMG} -f javabina.dockerfile . && \
docker tag ${IMG} ${LATEST}
app_up:
docker-compose -p farvisun-javabina up -d javabina
Run Code Online (Sandbox Code Playgroud)
毕竟,我想要一个简单的 bash 代码或其他工具来删除未使用的图像,例如保留 3 个最新图像,或保留过去 2 天的构建,并删除其他图像。