首页
  • Java
  • Linux
  • Deploy
  • Application

Xiao ku

板砖师傅
首页
  • Java
  • Linux
  • Deploy
  • Application
  • Nginx

  • Git

  • Docker

    • 常用docker命令
    • 使用docker构建前端项目
    • 导出docker镜像脚本
      • 脚本逻辑
      • 脚本内容
      • 执行命令
  • Vue

  • Macos

  • Application
  • Docker
xiaoku
2023-07-12
目录

导出docker镜像脚本

# 脚本逻辑

写一个shell脚本,执行的时候参数为:"镜像名称:版本号" 执行后: 1.服务器检查docker是否存在,不存在则提示异常 2.检查输入参数是否为空。为空则提示请输入 镜像名称:版本号 3.服务器进行下载镜像 docker pull 镜像名称:版本号,完成打印日志到屏幕上 4.下载完成后对镜像进行打包 docker save -o xxx.tar 镜像名称:版本号,完成打印日志到屏幕上 5.删除镜像 docker rmi 镜像名称:版本号,完成打印日志到屏幕上

# 脚本内容

download_image.sh

#!/bin/bash

# 检查docker是否存在
if ! command -v docker &> /dev/null; then
    echo "异常:Docker未安装或未配置环境变量"
    exit 1
fi

# 检查输入参数
if [ -z "$1" ]; then
    echo "请输入 镜像名称:版本号"
    exit 1
fi

image_name="$1"

# 下载镜像
echo "开始下载镜像 $image_name"
docker pull "$image_name"

# 提取镜像名称和版本号
IFS=':' read -r -a name_parts <<< "$image_name"
name="${name_parts[0]}"
version="${name_parts[1]}"

# 替换冒号和斜杠为下划线
name_with_underscore="$(echo "$name" | sed 's/[:/]/_/g')"
image_file="${name_with_underscore}_${version}.tar"

# 打包镜像
echo "开始打包镜像 $image_name 到文件 $image_file"
docker save -o "$image_file" "$image_name"

# 删除镜像
echo "开始删除镜像 $image_name"
docker rmi "$image_name"

echo "脚本执行完成"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# 执行命令

赋权

chmod +x download_image.sh  
1

例:镜像 redis:7.0.11

./download_image.sh redis:7.0.11
1
上次更新: 2023/07/12, 03:07:58
使用docker构建前端项目
常用Vue方法

← 使用docker构建前端项目 常用Vue方法→

Copyright © 2019-2024 | 闽ICP备20012188号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式