docker commit之后镜像越来越大解决办法

每次对docker的镜像进行增删改之后,它的体积都会扩充,甚至大到5G左右,在项目中是不可以接受的。

查找变大的原因为:

  docker容器就是以便于移植和部署著称。那么在docker使用过程中,少不了对容器进行反复的的打包和部署。为了追求容器完整性,往往使用docker commit  容器ID 新镜像名:tag 来操作,再使用save/load对其进行打包/部署镜像。但是根据上面的命令操作往往发现,即使很小的容器经过上述步骤操作几次后得到的镜像仍旧会变得很大很大(即使容器内的文件都被删掉了)。
        这主要是由于docker镜像的构建方式是以层的概念来实现的,在容器内所做的所有操作都会在构建镜像时运行一遍,每一个操作所涉及到的内存空间, 都会成为镜像文件的一部分。

        看到的大都是压缩容器根目录制作基础镜像或者操作Dockerfile之类的,相对就比较复杂,或者不是我们想要的答案。以下参考文章中的方法1给出比较详细好用的解决方法步骤。


解决方案一

因此查阅文档之后记录一下解决方案,在处理晚之后要打包时,执行以下操作。

进入镜像容器里后,执行命令

# 在根目录下将所有的文件打包到根目录下,命名为base_img.tar
tar --exclude=/proc --exclude=/sys --exclude=base_img.tar -cvf base_img.tar  .# 退出docker环境
exit# 使用命令进行查看刚才操作的那一个CONTAINER ID
docker ps -a# 拷贝压缩包到当前目录下,可以改路径
docker cp 容器id:/base_img.tar .# 导入容器,命名为base_img
cat base_img.tar | docker import - 镜像名:镜像版本# 最终镜像少了许多的空间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/594326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年12月GESP C++七级编程题转Python真题解析

七、2023年12月GESP C(Python)七级编程题 2023年12月GESP Python最高六级,但C与Python同级编程题相同。本篇引用2023年12月GESPC七级编程题,用Python实现。 【七级编程题1】 【试题名称】:商品交易 时间限制:1.0 s 内存限制&…

大数据系列之:读取parquet文件统计数据量

大数据系列之:读取parquet文件统计数据量 一、Spark读取parquet文件统计数据量二、parquet-tools统计parquet文件数据量三、实际应用案例 一、Spark读取parquet文件统计数据量 首先,创建一个 SparkSession 对象: val spark SparkSession.b…

微信公众号请求获取相关权限后端代码

用微信的东西,总要避免到各种与微信那边的交互。 1.首先要有个接口,证明你是服务端(填写服务器配置) 接入概述 | 微信开放文档 主代码 /*** 服务器配置验证* param* return*/PassTokenGetMapping("/giveWxCheck")publi…

详解Vue3中的事件监听方式

本文主要介绍Vue3中的事件监听方式。 目录 一、v-on指令二、使用符号简写三、事件修饰符四、动态事件名五、常见的监听事件六、自定义事件 在Vue3中,事件监听的方式与Vue2有一些不同。 下面是Vue3中事件监听方式的详细介绍: 一、v-on指令 Vue3中仍然使…

​LeetCode解法汇总2487. 从链表中移除节点

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个…

vue 使用 splice 删除元素UI视图不同步怎么办?

vue 使用 splice 删除元素UI视图不同步怎么办? https://www.zhihu.com/question/585036077?write#:~:text%E5%9C%A8Vue%E4%B8%AD%E4%BD%BF%E7%94%A8splice,%28%29%E6%96%B9%E6%B3%95%E5%88%A0%E9%99%A4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E5%85%83%E7%B4%A0%E6%…

(PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测

目录 I. 前言II. TCNIII. TCN-RNN/LSTM/GRU3.1 TCN-RNN3.2 TCN-LSTM3.3 TCN-GRU IV. 实验结果 I. 前言 前面已经写了一系列有关LSTM时间序列预测的文章: 深入理解PyTorch中LSTM的输入和输出(从input输入到Linear输出)PyTorch搭建LSTM实现时…

算法训练第五十二天|300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300. 最长递增子序列: 题目链接 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组…

Arduino驱动VL53L0X ToF激光测距传感器(距离传感器)

目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 VL53L0X激光测距传感器是一款基于意法半导体(STMicroelectronics&#

python实现简易的flask后端接口

先安装插件pip install flask 新建py脚本文件编码: # -*- coding: utf-8 -*- from flask import Flask from flask_cors import CORS # 跨域依赖,通过pip install flask-cors安装app Flask(__name__) cors CORS(app) # 跨域设置,这样设置…

WPF容器的背景对鼠标事件的影响

背景:在实现鼠标拖动窗口的过程中发现对父容器设置了鼠标拖动窗口的事件MouseLeftButtonDown private void DragWindow(object sender, MouseButtonEventArgs e) {if (e.LeftButton MouseButtonState.Pressed)DragMove(); } 问题:非常困惑的是&#x…

C# windows服务程序开机自启动exe程序

我们使用传统的Process.Start(".exe")启动进程会遇到无法打开UI界面的问题,尤其是我们需要进行开启自启动程序设置时出现诸多问题,于是我们就想到采用windows服务开机自启动来创建启动一个新的exe程序,并且是显式运行。 首先是打开…

软件测试入门(知识汇总)

1、黑盒测试、白盒测试、灰盒测试 1.1 黑盒测试 黑盒测试又叫功能测试、数据驱动测试 或 基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。 采用这种测试方法,测试工程师把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和…

clickhouseSQL日期相关

1. 毫秒级时间戳转日期/小时 --13位时间戳转具体时间 toDateTime(report_time / 1000) as _c00 -- 获取时间戳对应的时间点整点(结果:%Y-%m-%d %H:00:00.0) eg:2022-09-28 23:00:00.0 toStartOfHour(toDateTime(report_time / 1000)) AS _10-- 获取时间…

Rust使用gRPC

需要先安装protoc(Protocol Buffers Compiler),可据此Protobuf Compiler Installation下载 第一步:创建项目 创建两个新的Rust项目,分别作为服务端与客户端: cargo new rust_grpc_servercargo new rust_grp…

简单的数组移动问题

https://leetcode.cn/problems/move-zeroes/?envTypestudy-plan-v2&envIdprogramming-skills 思路: 1.在原数组上直接操作,采用双指针的思想,每次移动r,当r不为0时交换num中的值 class Solution {public void moveZeroes(in…

超级解压馆帮助与支持

游戏目标: 将相同颜色的筹码移动到同一排,当一排筹码颜色相同并装满时,你可以合成新数字。挑战你的智力,看你能拼出的最大数字是多少! 游戏玩法: 将相同颜色的数字币移动到相同颜色的数字币槽中。 观察所…

【操作系统习题】处理机调度与死锁

一、单选题 FCFS算法的就绪队列是按照进程的()排列。 B A、等待时间 B、到达时间 C、响应时间 D、运行时间设有4个作业同时到达,每个作业的执行时间均为2个小时,它们在一台处理机上按单道方式执行,则平均周转时间为&a…

LeetCode2413. Smallest Even Multiple

文章目录 一、题目二、题解 一、题目 Given a positive integer n, return the smallest positive integer that is a multiple of both 2 and n. Example 1: Input: n 5 Output: 10 Explanation: The smallest multiple of both 5 and 2 is 10. Example 2: Input: n 6 O…

PAT 乙级 1042 字符统计

请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内…