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

docker容器commit打包越來越大的原因分析及解決

 更新時(shí)間:2025年03月07日 09:48:45   作者:nanke_yh  
文章介紹了Docker容器打包變大的原因,并提供了解決方法,具體步驟包括使用export命令導(dǎo)出容器,然后使用import命令導(dǎo)入鏡像,最后將鏡像展開成容器,這種方法可以有效減少鏡像文件的大小,避免因Docker鏡像層的概念導(dǎo)致的文件膨脹問題

docker容器commit打包越來越大

一、背景和原因

docker容器就是以便于移植和部署著稱。那么在docker使用過程中,少不了對(duì)容器進(jìn)行反復(fù)的的打包和部署。

為了追求容器完整性,往往使用docker commit 容器ID 新鏡像名:tag 來操作,再使用save/load對(duì)其進(jìn)行打包/部署鏡像。

但是根據(jù)上面的命令操作往往發(fā)現(xiàn),即使很小的容器經(jīng)過上述步驟操作幾次后得到的鏡像仍舊會(huì)變得很大很大(即使容器內(nèi)的文件都被刪掉了)。

這主要是由于:

docker鏡像的構(gòu)建方式是以層的概念來實(shí)現(xiàn)的,在容器內(nèi)所做的所有操作都會(huì)在構(gòu)建鏡像時(shí)運(yùn)行一遍,每一個(gè)操作所涉及到的內(nèi)存空間, 都會(huì)成為鏡像文件的一部分。

看到的大都是壓縮容器根目錄制作基礎(chǔ)鏡像或者操作Dockerfile之類的,相對(duì)就比較復(fù)雜,或者不是我們想要的答案。

以下參考文章中的方法1給出比較詳細(xì)好用的解決方法步驟。

二、解決方法

為了減少鏡像文件所占內(nèi)容空間,采用export直接打包容器,然后通過import導(dǎo)入鏡像,繼而展開成容器。

1、可采用export命令打包容器生成鏡像文件

docker export -o name.tar 容器ID
或者docker export 容器ID > name.tar

注:此時(shí)必須記下當(dāng)前容器的COMMAND內(nèi)容,后面要用到。

2、加載成鏡像

生成的tar鏡像包就可以進(jìn)行移植和部署,假設(shè)換了一臺(tái)機(jī)器后部署該鏡像,加載鏡像可采用的命令:

docker import name.tar 容器name:tag

3、將鏡像展開成容器

如果正常使用的docker run命令時(shí)將會(huì)出現(xiàn)報(bào)錯(cuò):

docker: Error response from daemon: No command specified.
See 'docker run --help'.
此時(shí)就體現(xiàn)第1步中需要記住的COMMAND內(nèi)容的重要性了。

如果原環(huán)境還在,可通過 docker ps --no-trunc 查看你原容器的COMMAND。假設(shè)原容器的COMMAND為"bash"。

將原來使用export導(dǎo)出鏡像時(shí)的容器COMMAND內(nèi)容追加到要啟動(dòng)容器后面即可:

docker run -itd --restart=always --name xxx xxx:latest "bash"

總結(jié)

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

相關(guān)文章

  • 一文教你輕松搞定Docker無法拉取鏡像問題

    一文教你輕松搞定Docker無法拉取鏡像問題

    這篇文章主要介紹了當(dāng)Docker無法成功拉取鏡像時(shí)可能遇到的問題以及解決方法,文中通過代碼介紹的非常詳細(xì),對(duì)遇到這個(gè)問題的同學(xué)們具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2025-02-02
  • 如何修改docker官方鏡像內(nèi)部內(nèi)容并重新build鏡像

    如何修改docker官方鏡像內(nèi)部內(nèi)容并重新build鏡像

    這篇文章主要介紹了如何修改docker官方鏡像內(nèi)部內(nèi)容并重新build鏡像問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Docker安裝運(yùn)行apache2服務(wù)器做圖片服務(wù)器的方法

    Docker安裝運(yùn)行apache2服務(wù)器做圖片服務(wù)器的方法

    這篇文章主要介紹了Docker安裝運(yùn)行apache2服務(wù)器做圖片服務(wù)器的方法,需要的朋友可以參考下
    2017-06-06
  • docker倉庫登錄及配置insecure-registries的方法

    docker倉庫登錄及配置insecure-registries的方法

    這篇文章主要介紹了docker倉庫登錄配置insecure-registries的方法,docker客戶端如果配置中添加了insecure-registary配置,就不需要在docker 客戶端配置上對(duì)應(yīng)證書,如果不配置要在/etc/docker/certs.d/目錄中添加對(duì)應(yīng)證書才能正常登錄,感興趣的朋友跟隨小編一起看看吧
    2022-07-07
  • linux下如何使用docker安裝minio

    linux下如何使用docker安裝minio

    這篇文章主要介紹了linux下如何使用docker安裝minio問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 講解使用Docker搭建Java Web運(yùn)行環(huán)境

    講解使用Docker搭建Java Web運(yùn)行環(huán)境

    本篇文章詳細(xì)的介紹了使用Docker搭建Java Web運(yùn)行環(huán)境,想要學(xué)習(xí)docker的同學(xué)可以了解一下。
    2016-11-11
  • docker批量啟動(dòng)關(guān)閉所有容器的操作

    docker批量啟動(dòng)關(guān)閉所有容器的操作

    這篇文章主要介紹了docker批量啟動(dòng)關(guān)閉所有容器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用Docker快速部署Gitlab的方法

    使用Docker快速部署Gitlab的方法

    這篇文章主要介紹了使用Docker快速部署Gitlab的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Docker?Compose構(gòu)建Jenkins的實(shí)現(xiàn)

    Docker?Compose構(gòu)建Jenkins的實(shí)現(xiàn)

    本文主要介紹了Docker?Compose構(gòu)建Jenkins的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 群暉NAS利用Docker容器搭建KMS激活服務(wù)器實(shí)現(xiàn)激活windows系統(tǒng)和office(操作步驟)

    群暉NAS利用Docker容器搭建KMS激活服務(wù)器實(shí)現(xiàn)激活windows系統(tǒng)和office(操作步驟)

    本文跟大家分享一下如何利用群暉NAS的Docker容器套件搭建KMS服務(wù)器,并演示如何利用我們自己的KMS服務(wù)器激活Windows操作系統(tǒng)與Microsoft Office,感興趣的朋友跟隨小編一起看看吧
    2021-05-05

最新評(píng)論