博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker commit 命令保存的镜像文件太大的问题
阅读量:5846 次
发布时间:2019-06-18

本文共 745 字,大约阅读时间需要 2 分钟。

基础镜像: centos7.5

进入容器后, 先后安装了 jdk1.8, maven3.6.0, git, rocketmq4.3.2

安装完成后使用 docker commit 命令保存为镜像

结果跑了半天以后终于保存下来一看竟然有 3.3G 的大小

我勒个去

 

去网上查了一番以后发现一个问题

由于docker镜像的构建方式是以层的概念来实现的

就是说我在容器内所做的所有操作都会在构建镜像时运行一遍

所以每一个操作所涉及到的内存空间, 都会成为镜像文件的一部分

比如我在容器内下载了rocketmq的源码, 并在里面编译安装完成

随后我把源码删掉了, 可是实际上他已经被深深地刻在了镜像上

 

投机取巧:

将已经安装好各个软件的容器中的相关文件download到宿主机的/home/package目录下

比如我这里的:

  /usr/local/jdk1.8

  /usr/local/maven3.6.0

  /usr/local/rocketmq4.3.2

随后使用基础centos镜像打开一个新容器, 并把这些文件挂载到容器内:

docker run -it -v /home/package:/usr/local --privileged=true <centos镜像id> /bin/bash

进入容器后, 只需要修改 /root/.bashrc 文件, 设置一下环境变量

然后 docker commit 此容器

这样构建下来的镜像大小是 300+M (centos基础镜像为202M)

 

算是一波大瘦身吧. 当然是用dockerfile应该会更小

但是我现在还不会写, 再说吧!

转载于:https://www.cnblogs.com/imyjy/p/10132774.html

你可能感兴趣的文章
受不了51cto的编辑
查看>>
SUSE 11g SP3系统服务器NRPE配置
查看>>
2016年IDC服务市场将达39亿美元
查看>>
VTK 实现体绘制(两种)Activiz
查看>>
sfdisk和parted 的使用方法
查看>>
了解TOP500、Green500、Graph500的最新世界排名、看看哪些超级计算机是来自中国
查看>>
再学Javascript(一)-语言基础
查看>>
UITableview中cell重用引起的内容重复的问题
查看>>
Android中的复制粘贴
查看>>
stm32 ADC使用 单通道 多通道
查看>>
Windows服务器配置与管理
查看>>
UVA 10003 Cutting Sticks
查看>>
DRP项目总结
查看>>
图的连通性——无向图的连通分量和生成树
查看>>
Linux安装更新JDK
查看>>
VM10.0上创建Windows server 2008 SP2,并且,安装loadrunner11
查看>>
抽象工厂
查看>>
linux下高可用mysql
查看>>
(15)Reactor 3 Operators——响应式Spring的道法术器
查看>>
r710 网卡驱动升级灰常蛋疼,现在在祈祷
查看>>