docker怎么拉取全部镜像,打包所有镜像

因为docker,所以我把电脑上之前的镜像全部打包出来了

你们也可以打包,我提供一个脚本,你运行即可

export_docker.sh

#!/bin/bash

# 导出目录
EXPORT_DIR="docker_images_backup"
mkdir -p "$EXPORT_DIR"

# 获取所有镜像
images=$(docker images --format "{{.Repository}}:{{.Tag}}")

# 导出每个镜像
for image in $images; do
  # 处理未标记的镜像
  if [[ "$image" == "<none>:<none>" ]]; then
    image_id=$(docker images --format "{{.ID}}:{{.Repository}}:{{.Tag}}" | grep "<none>:<none>" | cut -d':' -f1)
    for id in $image_id; do
      docker save -o "$EXPORT_DIR/$id.tar" "$id"
    done
  else
    # 将镜像名称和标签转换为文件路径友好格式
    image_file=$(echo "$image" | tr "/" "-" | tr ":" "-")
    # 保存镜像
    docker save -o "$EXPORT_DIR/$image_file.tar" "$image"
	echo "$EXPORT_DIR/$image_file.tar 导出成功"
  fi
done

# 打包所有镜像为一个文件
tar -cvf docker_images_backup.tar -C "$EXPORT_DIR" .

# 删除临时导出目录
rm -rf "$EXPORT_DIR"

echo "所有镜像导出成功"

记得先给脚本执行权限和创建目录,然后运行

mkdir docker_images_backup && chmod +x export_docker.sh

当然我导出了一部分镜像放在云盘中了

里面有MySQL5.6,8。0,Redis6kafka,kafka、etcd、zk、mongo等镜像
在这里插入图片描述
镜像自提:
链接:https://pan.quark.cn/s/84fdfa027d5a
提取码:bdeF

既然有导出所有镜像脚本也有导入所有镜像的脚步

import.sh

#!/bin/bash

# 解压 tar 文件到 docker_images_backup 目录(如果还没有解压)
# tar -xvf /path/to/docker_images_backup.tar -C ./docker_images_backup

# 导入每个镜像
for image_tar in docker_images_backup/*.tar; do
  if [ -f "$image_tar" ]; then
    docker load -i "$image_tar"
    echo "$image_tar 导入成功"
  else
    echo "未找到任何 .tar 文件在 docker_images_backup 目录中"
  fi
done

echo "所有镜像已成功导入"

记得先给脚本执行权限,然后运行

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值