docker镜像打包

DockerFIle

bash 复制代码
在这里插入代码片

run.sh

bash 复制代码
#!/bin/bash

set -euo pipefail

CURRENT_DATE=$(date +%Y%m%d%H%M%S)
PROJECT_NAME="aiwrite-modules-aiwriteapi"
TAR_FILE="${PROJECT_NAME}.tar"

# 构建新镜像
docker build -t "${PROJECT_NAME}:${CURRENT_DATE}" .

# 清理旧镜像
echo "清理旧镜像..."
OLD_IMAGES=$(docker images --format "{{.Repository}}:{{.Tag}}" --filter=reference="${PROJECT_NAME}:*" | sort -r | tail -n +3)

if [ -n "$OLD_IMAGES" ]; then
    echo "删除以下旧镜像:"
    echo "$OLD_IMAGES"
    echo "$OLD_IMAGES" | xargs docker rmi
fi

# 显示当前镜像
docker images | grep "^${PROJECT_NAME}"

# 删除旧的 tar 文件(如果存在)
[ -f "${TAR_FILE}" ] && rm -f "${TAR_FILE}"

# 保存镜像
docker save -o "${TAR_FILE}" "${PROJECT_NAME}:${CURRENT_DATE}"

echo "镜像已保存到: ${TAR_FILE}"
echo "文件大小: $(du -h "${TAR_FILE}" | cut -f1)"
相关推荐
SL-staff1 小时前
AB测试数据失真根因与变量热替换实战:JVS-Rules函数计算器架构解析
java·运维·微服务·函数式编程·规则引擎·变量管理·营销技术
飞飞传输1 小时前
机器人行业数据流转深度研究:内外网数据摆渡平台应用现状与趋势
大数据·运维·安全
皮皮虾❀1 小时前
广州云服务器价格:阿里云代理商折扣报价单指南
运维·服务器·阿里云
xiebingsuccess1 小时前
Ubuntu 22.04 在 VMware 上的安装与远程桌面配置 — 任务报告
linux·运维·ubuntu·ai+嵌入式开发
juesdo1 小时前
vulnos OS-00118靶场通关
linux·web安全·网络安全·docker
AAA@峥2 小时前
官方 Dashboard 还是 Kuboard?Kubernetes 可视化管理工具深度对比
云原生·容器·kubernetes
郝亚军2 小时前
asqlite-autoconf-3310100 的ubuntu 22.04 aarch64交叉编译
linux·运维·ubuntu
老鼠拧刀满街找猫2 小时前
Windows Docker部署Redis一主两从+哨兵完整实战(含静态IP方案)
windows·redis·docker
笑锝没心没肺2 小时前
Linux安装docker及运行容器测试
linux·运维·docker