docker容器之镜像生成与封装

本文介绍了Docker镜像的基本概念,详细阐述了如何通过commit容器和使用Dockerfile来生成镜像,特别是探讨了Nginx镜像的封装及其优化,以实现更小的镜像体积。此外,还提到了镜像加速的方法。
摘要由CSDN通过智能技术生成

1、什么是镜像?

docker镜像是一个特殊的文件系统,能够提供容器运行时所需的资源。如果接触过dockerfile的同学应该知道,
我们构建镜像时都会选择一个基础镜像(没接触过别担心下面会讲),这说明docker镜像是一层层进行构建的,
一个镜像往往由多层文件系统组成。

2、镜像的生成

1)、commit提交容器生成镜像

1、先运行一个容器
    docker run -d --name vm1 nginx
2、基于容器提交镜像
    docker commit vm1 nginx:v1        生成nginx:v1镜像,基于nginx,运行时需要nginx里边的东西
3、查看新生成的镜像
    docker images
4、docker history 镜像    查看镜像构建历史
5、保存镜像为.tar文件,方便迁移
    docker save -o 镜像 镜像.tar    镜像打包
6、删除镜像
    docker rmi nginx        删除镜像

2)、dockerfile生成镜像,RUN指令也是基于容器的提交,每执行一次RUN指令,commit一次

在这里插入图片描述

 nginx封装

mkdir /tmp/docker
cd /tmp/docker
    vim  dockerfile
    FROM rhel7 as build        依赖于rhel7镜像,其一个别名叫build
    
CDimage 是一款镜像制作工具,出自微软。它是微软内部“专用的”ISO 封装工具,不向外提供;所以,我们平时所看到的、使用的都是从微软内部泄露出来的~!!CDimage是系统整合不可少的利器,大大节省了光盘存放空间;我们平时见的"N合1”光盘大都是由CDimage(或内置CDimage内核的光盘工具,如Easyboot等)创建的。 但是我想网友们最关心的或许并不是以上问题,而是“CDimage到底能不能封装出SHA1值和官方一致的ISO镜像?”。下面我们就来说说CDimage的用法--其实你英文好的话用help命令查看即可!以下是常用参数[2.47版]的中文说明: -l 卷标,无空格(例如:-lMYLABEL) -t 所有目录和文件的时间标记,无空格,任意分隔符(例如:-t12/31/2000,15:01:00) -g 把文件时间从本地时间转换为GMT时间 -h 包含隐藏的文件和目录 -n 允许长文件名(比DOS的8.3文件名长) -nt 允许长文件名,与NT3.51兼容(-nt与-d不能同时使用) -d 不强制转换文件名的小写字母为大写字母 -c 使用ANSI文件名,不用源OEM文件名 -b "El Torito"光盘启动文件,无空格(例如:-bc:\location\cdboot.bin) -p "El Torito"启动目录的平台ID -e 在El Torito启动目录中不要设置软盘模拟方式 -s 在镜像文件中签上数字签名(无空格,给出RPC服务器名和结束点名称,像这样-sServerName:EndPointName) -x 在镜像中计算并制作"AutoCRC"值 -o 优化容量:重复的文件只制作一次 -y 试验选项,跟一个数字(例如:-y1),为试验的目的而产生ISO-9660的非标准变化: 1 在文件名后续加版本号';1'(7.5.1) 2 圆整目录大小为2K的倍数(6.8.1.3) 5 先写\i386目录,逆序 6 允许目录记录正好排到扇区结束点(符合ISO-96606.8.1.1但是突破了MSCDEX) 7 产生NT4.0下的16位应用程序时报警 -oc 更慢的重复文件探测方式:二进制比较而不是MD5哈西值 -oi 比较文件时忽略diamond压缩时间标记 -os 建立镜像时显示重复的文件(-o选项可以组合,像这样:-ocis) -k (keep)即使某些源文件打开失败也生成镜像 -m 忽略镜像文件最大681,984,000bytes的限制 -a 《分配概要》显示文件和目录的大小 -q 只扫描源文件,不建立镜像文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值