当前位置: 首页 > article >正文

(16)docker自动镜像打包脚本

注:

1.将写好的Dockerfile文件、脚本、前端包或后端包放在同一目录下;

2.基础镜像提前导入;

-----------------------------------

#!/bin/bash

# 定义脚本参数和变量
IMAGE_NAME="lisp-bpms-web"  # 替换为实际的镜像名称
DOCKERFILE_PATH="Dockerfile"  # 如果Dockerfile位置与脚本在同一目录,无需修改
CONTEXT_PATH="."              # 同上
SAVE_AS_TAR=true              # 根据需求决定是否保存为 tar 文件

# 获取当前时间戳作为镜像标签
TIMESTAMP=$(date +%Y%m%d%H%M%S)

# 构建带有时间戳的镜像
echo "Building Docker image with tag ${IMAGE_NAME}:${TIMESTAMP}"
docker build --tag "${IMAGE_NAME}:${TIMESTAMP}" -f "${DOCKERFILE_PATH}" "${CONTEXT_PATH}"

# 检查构建状态
if [ $? -ne 0 ]; then
    echo "Docker image build failed."
    exit 1
fi

# 保存镜像为 tar 文件(如果 SAVE_AS_TAR 设置为 true)
if [ "$SAVE_AS_TAR" = true ]; then
    echo "Saving Docker image as tar file"
    IMAGE_FILE="${IMAGE_NAME}_${TIMESTAMP}.tar"

    docker save "${IMAGE_NAME}:${TIMESTAMP}" -o "${IMAGE_FILE}"
    if [ $? -ne 0 ]; then
        echo "Failed to save Docker image as tar file."
        exit 1
    fi

    echo "Docker image saved as ${IMAGE_FILE}"
fi

echo "Docker image build and (optionally) save completed successfully."
 


http://www.kler.cn/news/319573.html

相关文章:

  • 【Power Query】追加查询(动态列,动态路径)
  • 微软宣布弃用WSUS,企业用户尽早准备替换方案
  • [RabbitMQ] RabbitMQ介绍,安装与快速上手
  • 虚拟机开启网络代理设置,利用主机代理访问国外资源
  • Vue3:toRaw与markRaw
  • LeetCode 210. 课程表 II
  • yum 集中式安装 LNMP
  • 当电子设计竞赛照进生活!
  • 深入探秘 WorkManager:Android 异步任务管理的强大工具
  • 探索《藏汉翻译通》小程序:跨平台的藏文翻译利器
  • PostgreSQL - pgvector 插件构建向量数据库并进行相似度查询
  • django应用JWT(JSON Web Token)实战
  • C语言习题~day35
  • 产业报告 | 2024年中国机器人产业研究报告
  • 【裸机装机系列】15.kali(ubuntu)-重装linux步骤
  • android 14分屏实战之小米su7的3分屏实现方案讨论及线索征集
  • 智慧城市运营模式--政府和社会资本合作
  • 【Java数据结构】--- 优先级队列
  • fastjson的json字符串转List
  • 移动技术开发:ListView水果列表
  • C++ prime plus-7-編程練習
  • 2024年华为杯中国研究生数学建模竞赛E题(高速公路应急车道紧急启用模型)思路
  • Unity 的Event的Use()方法
  • 《Detection of Tea Leaf Blight in Low-Resolution UAV Remote Sensing Images》论文阅读
  • 海信智能电视的使用心得
  • 量子密码基本原理和必要性
  • 私有大模型、公有大模型介绍及区别
  • 下载分享抖音视频并转成文本
  • python爬虫:从12306网站获取火车站信息
  • 二分查找及变体