最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker離線鏡像文件選擇導入腳本方式

 更新時間:2025年10月31日 08:53:24   作者:???傀儡師  
本文檔提供了一個腳本,用于自動掃描、顯示和導入`/data/k8s-package`目錄下的Docker離線鏡像文件,用戶可以選擇單個或批量導入鏡像,并在每次加載后進行確認,腳本運行后,會顯示加載結(jié)果,并最終列出當前系統(tǒng)中的所有Docker鏡像

docker離線鏡像文件選擇導入腳本

可以讀取 /data/k8s-package 目錄下的離線鏡像文件,讓用戶選擇導入:

#!/bin/bash

# 腳本:離線鏡像加載工具
# 功能:讀取 /data/k8s-package 目錄下的 .tar 鏡像文件,交互式選擇加載

IMAGE_DIR="/data/k8s-package"

# 檢查目錄是否存在
if [ ! -d "$IMAGE_DIR" ]; then
    echo "錯誤: 目錄 $IMAGE_DIR 不存在!"
    exit 1
fi

# 查找所有的 .tar 鏡像文件
image_files=($(find "$IMAGE_DIR" -name "*.tar" -type f | sort))

# 檢查是否找到鏡像文件
if [ ${#image_files[@]} -eq 0 ]; then
    echo "在 $IMAGE_DIR 目錄下沒有找到 .tar 鏡像文件!"
    exit 1
fi

echo "=============================================="
echo "       離線鏡像加載工具"
echo "=============================================="
echo "找到 ${#image_files[@]} 個鏡像文件:"
echo ""

# 顯示鏡像文件列表
for i in "${!image_files[@]}"; do
    filename=$(basename "${image_files[$i]}")
    size=$(du -h "${image_files[$i]}" | cut -f1)
    echo "  $((i+1)). $filename ($size)"
done

echo ""
echo "  q. 退出"
echo "  a. 加載所有鏡像"
echo "=============================================="

# 主循環(huán)
while true; do
    echo ""
    read -p "請選擇要加載的鏡像編號 (1-${#image_files[@]}) 或輸入選項: " choice
    
    case $choice in
        [Qq]* )
            echo "退出腳本."
            break
            ;;
        [Aa] )
            echo "開始加載所有鏡像..."
            for file in "${image_files[@]}"; do
                filename=$(basename "$file")
                echo "正在加載: $filename"
                if docker load -i "$file"; then
                    echo "? 成功加載: $filename"
                else
                    echo "? 加載失敗: $filename"
                fi
                echo "----------------------------------------------"
            done
            echo "所有鏡像加載完成!"
            break
            ;;
        * )
            # 檢查輸入是否為數(shù)字且在有效范圍內(nèi)
            if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le "${#image_files[@]}" ]; then
                index=$((choice-1))
                selected_file="${image_files[$index]}"
                filename=$(basename "$selected_file")
                
                echo "您選擇了: $filename"
                echo "文件路徑: $selected_file"
                echo "文件大小: $(du -h "$selected_file" | cut -f1)"
                
                # 確認加載
                read -p "確認加載這個鏡像? (y/n): " confirm
                if [[ $confirm =~ ^[Yy]$ ]]; then
                    echo "正在加載: $filename"
                    if docker load -i "$selected_file"; then
                        echo "? 成功加載: $filename"
                    else
                        echo "? 加載失敗: $filename"
                    fi
                else
                    echo "取消加載: $filename"
                fi
            else
                echo "無效選擇! 請輸入 1-${#image_files[@]} 的數(shù)字,或輸入 q 退出,a 加載所有鏡像"
            fi
            ;;
    esac
done

echo ""
echo "=============================================="
echo "當前系統(tǒng)中的 Docker 鏡像:"
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedSince}}"
echo "=============================================="

保存腳本:

保存腳本到文件

vi /data/k8s-package/load_offline_images.sh

給腳本執(zhí)行權(quán)限

chmod +x /data/k8s-package/load_offline_images.sh

運行腳本:

cd /data/k8s-package
./load_offline_images.sh

腳本功能:

  • ? 自動掃描 /data/k8s-package 目錄下的所有 .tar 文件
  • ? 顯示文件列表 帶序號和文件大小
  • ? 交互式選擇 可以按編號選擇單個鏡像加載
  • ? 批量加載 輸入 a 可以一次性加載所有鏡像
  • ? 持續(xù)運行 加載完一個鏡像后可以繼續(xù)選擇其他鏡像
  • ? 確認機制 加載前會要求確認
  • ? 結(jié)果反饋 顯示加載成功或失敗
  • ? 退出選項 輸入 q 退出腳本
  • ? 最后顯示 加載完成后顯示當前系統(tǒng)中的所有 Docker 鏡像

示例運行效果:

==============================================
       離線鏡像加載工具
==============================================
找到 5 個鏡像文件:

  1. nginx_20251011144621.tar (215MB)
  2. redis_20251011144730.tar (118MB)
  3. mysql_20251011144815.tar (444MB)
  q. 退出
  a. 加載所有鏡像
==============================================

請選擇要加載的鏡像編號 (1-3) 或輸入選項: 1

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker搭建Zookeeper&Kafka集群的實現(xiàn)

    Docker搭建Zookeeper&Kafka集群的實現(xiàn)

    這篇文章主要介紹了Docker搭建Zookeeper&Kafka集群的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 5分鐘安裝docker詳細步驟

    5分鐘安裝docker詳細步驟

    官方推薦使用通過設置docker倉庫的方法來安裝,安裝和升級都簡單些,今天就來教大家5分鐘入手安裝docker教程超詳細的安裝步驟,感興趣的朋友一起看看吧
    2021-05-05
  • Docker容器輸入漢字觸發(fā)自動補全問題

    Docker容器輸入漢字觸發(fā)自動補全問題

    Linux系統(tǒng)中,當終端出現(xiàn)中文亂碼通常是由于缺少中文字符集和字體,安裝中文字體和設置合適的字符集zh_CN.utf8,可以有效解決這一問題,首先,通過查看系統(tǒng)支持的字符集了解是否支持中文,然后安裝相應字符集,其次,查看并設置當前系統(tǒng)字符集
    2024-10-10
  • 使用Docker部署OpenClaw的完整流程

    使用Docker部署OpenClaw的完整流程

    本文詳細介紹了從源碼編譯到Docker容器化部署OpenClaw的過程,包括編譯打包、啟動容器、配置Token以及遷移部署的步驟和注意事項,需要的朋友可以參考下
    2026-03-03
  • Docker給容器添加新端口映射兩種方法及常用命令

    Docker給容器添加新端口映射兩種方法及常用命令

    在使用Docker時容器的端口映射是一個核心概念,它允許容器與宿主機以及外部網(wǎng)絡進行通信,這篇文章主要給大家介紹了關(guān)于Docker給容器添加新端口映射兩種方法及常用命令的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • 解決Docker報錯:“docker build“ requires exactly 1 argument.

    解決Docker報錯:“docker build“ requires exactly&nb

    這篇文章主要介紹了解決Docker報錯:“docker build“ requires exactly 1 argument.具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Docker-Compose的使用示例詳解

    Docker-Compose的使用示例詳解

    docker-compose是用來在Docker中定義和運行復雜應用的工具,比如在一個yum文件里定義多個容器,只用一行命令就可以讓一切就緒并運行。下面通過示例給大家介紹Docker-Compose的使用,感興趣的朋友一起看看吧
    2017-07-07
  • Docker查看鏡像詳情的多種常用方法介紹

    Docker查看鏡像詳情的多種常用方法介紹

    這篇文章主要為大家詳細介紹了Docker查看鏡像詳情的多種常用方法,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2025-12-12
  • Docker鏡像加載原理

    Docker鏡像加載原理

    Docker鏡像是Docker容器運行的基礎,沒有Docker鏡像,就不可能有Docker容器,這也是Docker的設計原則之一 ,本文給大家介紹Docker鏡像加載原理,感興趣的朋友一起看看吧
    2021-06-06
  • 前端項目容器化Docker打包部署方式詳解

    前端項目容器化Docker打包部署方式詳解

    這篇文章主要為大家介紹了前端項目容器化Docker打包部署方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11

最新評論

宜川县| 延边| 疏勒县| 津市市| 博客| 安达市| 平昌县| 兴业县| 江安县| 云安县| 定南县| 平遥县| 阿克| 宁陕县| 天长市| 刚察县| 铅山县| 大同市| 精河县| 南康市| 大足县| 西华县| 巴林左旗| 鸡泽县| 玉林市| 阳泉市| 杭锦后旗| 台南县| 新巴尔虎右旗| 武邑县| 沂水县| 丰都县| 利川市| 保亭| 芷江| 阿图什市| 教育| 梁河县| 石棉县| 祁东县| 宁津县|