欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker save鏡像時(shí)進(jìn)行g(shù)zip壓縮方式

 更新時(shí)間:2025年08月30日 08:39:28   作者:學(xué)亮編程手記  
文章介紹了三種Docker鏡像壓縮方法:管道壓縮(推薦,使用gzip/pigz,速度快)、xz壓縮(高壓縮比但慢)、及先保存再壓縮(不推薦,占空間),建議日常用管道gzip,傳輸用xz,避免直接保存未壓縮文件

可以在 docker save 過程中進(jìn)行壓縮。你有幾種方法可以實(shí)現(xiàn),從最簡(jiǎn)單到最高壓縮比,具體如下:

方法一:使用管道直接壓縮(最推薦、最常用)

這是最經(jīng)典和高效的方法。它將 docker save 輸出的 tar 流直接通過管道傳遞給壓縮工具,無需產(chǎn)生巨大的中間臨時(shí)文件。

命令格式:

docker save <鏡像名或ID> | gzip > <輸出文件名.tar.gz>

實(shí)際操作示例:

# 壓縮單個(gè)鏡像
docker save my-app:latest | gzip > my-app-latest.tar.gz

# 壓縮多個(gè)鏡像(Docker允許save多個(gè)鏡像到一個(gè)文件)
docker save my-app:latest redis:alpine | gzip > my-app-and-redis.tar.gz

解壓并加載:
要加載這個(gè)被壓縮的鏡像,你需要先解壓,或者使用管道反向操作:

# 方法A:先解壓,再加載(兩步)
gunzip -c my-app-latest.tar.gz | docker load

# 方法B:使用管道一步到位(更優(yōu)雅)
zcat my-app-latest.tar.gz | docker load
# 或者
gunzip < my-app-latest.tar.gz | docker load

方法二:使用不同的壓縮算法以獲得更高壓縮比(速度更慢)

如果你的網(wǎng)絡(luò)帶寬是瓶頸,并且你愿意用更長(zhǎng)的壓縮時(shí)間來?yè)Q取更小的文件體積,可以使用比 gzip 更高效的壓縮工具,如 pigz (并行g(shù)zip) 或 xz。

  • 使用 pigz (多線程gzip,速度快):
docker save my-app:latest | pigz --best > my-app-latest.tar.gz
  • 使用 xz (極高壓縮比,速度慢):
docker save my-app:latest | xz -z --threads=0 -9 > my-app-latest.tar.xz
  • -z: 進(jìn)行壓縮。
  • --threads=0: 使用所有可用的CPU核心。
  • -9: 使用最高壓縮等級(jí)。
  • 解壓并加載 xz 文件:
xz -d -c my-app-latest.tar.xz | docker load
# 或者
unxz < my-app-latest.tar.xz | docker load

方法三:先保存再手動(dòng)壓縮(不推薦)

這種方法會(huì)產(chǎn)生一個(gè)巨大的臨時(shí) tar 文件,通常只在你需要保留未壓縮的 tar 包時(shí)才使用。

# 1. 先保存為未壓縮的tar
docker save -o my-app-latest.tar my-app:latest

# 2. 再用任何工具壓縮它
gzip my-app-latest.tar # 會(huì)生成 my-app-latest.tar.gz

不推薦的原因:

  • 浪費(fèi)磁盤空間: 會(huì)在磁盤上產(chǎn)生一個(gè)巨大的臨時(shí)文件(可能幾十GB),可能會(huì)占滿磁盤空間。
  • 速度慢: 需要等待 docker save 完全寫完,然后再啟動(dòng)壓縮過程,總耗時(shí)更長(zhǎng)。

方法一通過管道流式處理,避免了這些問題。

總結(jié)與建議

方法命令優(yōu)點(diǎn)缺點(diǎn)推薦度
管道 + gzip`docker save …gzip > file.tar.gz`速度快,通用性好,節(jié)省磁盤空間壓縮比不是最高
管道 + pigz`docker save …pigz > file.tar.gz`多線程,比gzip快需要額外安裝pigz
管道 + xz`docker save …xz > file.tar.xz`壓縮比最高,文件最小速度非常慢,耗CPU
先save后壓縮docker save -o ... && gzip ...可保留中間tar文件耗磁盤空間,速度慢?(不推薦)

給你的建議:

  1. 日常使用:直接采用 docker save | gzip,這是最均衡的選擇。
  2. 傳輸給他人或上傳:如果鏡像非常大,并且你不介意等待,使用 docker save | xz 來獲得最小的文件。
  3. 絕對(duì)要避免:直接使用 docker save -o 而不加壓縮,除非你有特殊需求。

所以,下次保存鏡像時(shí),請(qǐng)務(wù)必使用管道壓縮,這能為你節(jié)省大量的時(shí)間和磁盤空間。

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

相關(guān)文章

  • 如何解決docker commit后鏡像越來越大問題

    如何解決docker commit后鏡像越來越大問題

    解決Docker Commit后鏡像變大問題的方法:方法1直接打包容器并導(dǎo)入為鏡像;方法2將容器根目錄文件壓縮后導(dǎo)入為鏡像,方法1更優(yōu),在其他設(shè)備運(yùn)行時(shí)可能出現(xiàn)內(nèi)存不足錯(cuò)誤
    2025-03-03
  • 解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄

    解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄

    Spring Boot 是 Spring 開源組織的子項(xiàng)目,是 Spring 組件一站式解決方案,本文通過詳細(xì)案例給大家解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • Docker安裝Oracle_11g的方法

    Docker安裝Oracle_11g的方法

    這篇文章主要介紹了Docker安裝Oracle_11g的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Docker容器化工具及常用操作的詳細(xì)解析

    Docker容器化工具及常用操作的詳細(xì)解析

    Docker是容器化技術(shù)的核心工具,掌握其常用命令能高效管理容器、鏡像、網(wǎng)絡(luò)和數(shù)據(jù)卷,這篇文章主要介紹了Docker容器化工具及常用操作的詳細(xì)解析,需要的朋友可以參考下
    2025-08-08
  • Docker部署Tomcat及Web應(yīng)用的實(shí)現(xiàn)

    Docker部署Tomcat及Web應(yīng)用的實(shí)現(xiàn)

    這篇文章主要介紹了Docker部署Tomcat及Web應(yīng)用的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 如何在docker容器內(nèi)部安裝kibana分詞器

    如何在docker容器內(nèi)部安裝kibana分詞器

    這篇文章主要介紹了如何在docker容器內(nèi)部安裝kibana分詞器,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Docker鏡像如何移動(dòng)或復(fù)制到另一臺(tái)服務(wù)器

    Docker鏡像如何移動(dòng)或復(fù)制到另一臺(tái)服務(wù)器

    文章介紹了如何在不同服務(wù)器之間移動(dòng)或復(fù)制Docker鏡像,包括使用dockersave和dockerload、DockerRegistry、以及dockerexport和dockerimport命令的方法
    2025-02-02
  • docker之如何查看正在運(yùn)行的容器

    docker之如何查看正在運(yùn)行的容器

    這篇文章主要介紹了docker之如何查看正在運(yùn)行的容器問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 教你docker方式部署nacos

    教你docker方式部署nacos

    Nacos?提供了一組簡(jiǎn)單易用的特性集,幫助您快速實(shí)現(xiàn)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、服務(wù)配置、服務(wù)元數(shù)據(jù)及流量管理,下面通過本文給大家講解docker方式部署nacos的過程,感興趣的朋友一起看看吧
    2022-05-05
  • 為運(yùn)行中的docker容器設(shè)置時(shí)區(qū)

    為運(yùn)行中的docker容器設(shè)置時(shí)區(qū)

    本文主要介紹了為運(yùn)行中的docker容器設(shè)置時(shí)區(qū),主要介紹了2種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評(píng)論