Docker镜像的创建、存出、载入的方法
作者:人艰不拆_zmc 发布时间:2022-12-28 20:42:23
创建镜像的方法有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建,本博文讲解前两种。
基于已有镜像的容器创建
该方法是使用docker commit命令,其命令格式为:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
主要参数选项包括:
-a ,–author=”” 作者信息
-m,–message=”” 提交信息
-p,–pause=true 提交是暂停容器运行
比如,先创建一个运行bash的ubuntu容器:
docker run –it ubuntu /bin/bash
root@d8990fec2141:/# touch test
root@d8990fec2141:/# exit
然后根据创建的这个容器来提交一个新的镜像,提交时需要用到容器ID。
docker commit –m “test” –a “zmc” d8990fec2141 testimage
如果成功的话,就会返回新镜像的长ID号,然后可以查看看在本地已有的镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
testimage latest baea98d5a437 About a minute ago 188.3 MB
……
第三行就是刚刚创建的镜像。
PS:利用此容器创建的镜像Id与此容器的镜像id不同,可知它们不是同一镜像。
基于本地模板导入
也可以从操作系统模板文件导入一个镜像,比如使用OpenVZ提供的模板创建,OPENVZ下载模板在:http://openvz.org/Download/template/precreated。
我尝试使用了Ubuntu14.04的模板:
wget http://download.openvz.org/template/precreated/ubuntu-14.04-x86_64-minimal.tar.gz
下载完之后就可以导入了:
sudo cat ubuntu–14.04–x86_64–minimal.tar.gz | docker import – ubuntu:14.04
其实只是两个命令,不过很显而易见,就不加解释了。成功的话,就会返回根据模板建立的镜像的长ID
sudo cat ubuntu–14.04–x86_64–minimal.tar.gz | docker import – ubuntu:14.04
ab80404d13d580965b9919b640169ccb585ea7884e6aa9de1ec043075c65fe35
然后就可以查看本地的镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 ab80404d13d5 56 seconds ago 215.4 MB
testimage latest baea98d5a437 29 minutes ago 188.3 MB
….
其实可以看出,虽然模板才75M,但创建的镜像并不小。
镜像的存出和载入
可以利用docker save和docker命令来存出和载入镜像。
存出镜像
如果想要把镜像存出到本地文件,可以使用docker save命令,例如,存出本地的刚才创建的testimage:lastest为镜像文件testimage.tar文件:
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
testimage latest baea98d5a437 25 minutes ago 188.3 MB
ubuntu latest fa81ed084842 3 days ago 188.3 MB
….
docker save –o /data/testimage.tar testimage:latest
上面的第6行就是存出代码,这时在/data下就有一个testimage.tar文件,这时我们把本地镜像rmi掉,然后尝试载入。
载入镜像
删除镜像之后的状态:
ubuntu@VM–223–238–ubuntu:/data$ docker rmi baea98d5a437
Untagged: testimage:latest
Deleted: baea98d5a4371a6abf9efc8c53a54a6fc5befd167bf91ce9fd4a28a6d1b7dc5b
ubuntu@VM–223–238–ubuntu:/data$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 ab80404d13d5 5 minutes ago 215.4 MB
然后载入镜像:
docker load —input testimage.tar
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 ab80404d13d5 6 minutes ago 215.4 MB
testimage latest baea98d5a437 35 minutes ago 188.3 MB
第一行就是载入镜像,还可以简化写成:
docker load —input testimage.tar
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 ab80404d13d5 6 minutes ago 215.4 MB
testimage latest baea98d5a437 35 minutes ago 188.3 MB
载入操作将会导入镜像以及相关的元数据信息(包括标签等)。
镜像的上传
最后说点镜像的上传,镜像的管理方式非常像git,可以使用docker push命令上传自己本地镜像到仓库,默认上传到DockerHub官方仓库(需要登陆),命令格式:
docker push NAME[:TAG]
在上传之前一般会先为自己的镜像添加带自己名字(作者信息)的标签:
docker tag testimage:lastest zmc/testimage:lastest
docker pushzmc/testimage:lastest
有利于上传之后的区分。
我觉得无论是运维团队还是开发团队还是一个实验室,都有必要有一个自己的Docker仓库,可以存放符合自己需求的环境或系统镜像,可以实现快速部署。
来源:https://www.cnblogs.com/zhangmingcheng/p/5720792.html


猜你喜欢
- 尝试了一把从2005年以来第一次重大更新的新版本apache,不仅加入了云计算的基因更大幅提升了性能,I/O读写和内存占用优化程度比较大,主
- 广告的格式很重要应该将广告设置为即可显示文字,又可显示图片的格式,因为定向投放的中文广告很多都是图片格式的,而定向投放的单价比普通的单价要高
- Linux 下对于目录的切换,大家肯定会想到一个命令:cd 命令。这个是 Linux 下再基本不过的命令,如果这个命令都不知道的话,赶紧剖腹
- 文字一出各路诸侯杀出,一个措手不及待吾友商发布!前不久视觉组同事们讨论了一个老话题 — 网站图片格式问题和对性能产生的影响其实大家每天都与图
- 每两年,SEOmoz搜索引擎营销团队都会向世界各地的SEO专家们做有关搜索引擎排名算法的调查。今年主要收到了来自美国、英国、加拿大、澳大利亚
- 网页上通常会有数以百计的词语,那么搜索引擎怎样去分辨哪些是描述你的网站的重要的词语呢?搜索引擎会统计你一个页面的字数。那些重复出现的词或短语
- 站点运营推广类的文章百度下可以搜索到36万条之多。站长对此类话题的关注程度可见一斑。许多中小站长面对一个新上线的站点并不知如何良好的运营和广
- Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单
- 上一篇中简要的说了排名较好的站为什么不用Keywords和Description,本想用一篇文章专门分享一下如何用Description来打
- 今天闲来无事,继而顺手截图做一些IIS7的安装图文教程,以及fastcgi模式下配置PHP,现在网上很多IIS7下配置PHP的教程还停顿在I
- # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /et
- wordpress是世界公认的最强大最流行的博客程序。由于他完全免费开源,适合二次开发,它众多的主题和插件,当今有无数的wordpress博
- Google AdSense发布者在账号被停止后是否可以收到已经支付或即将支付的款项,这是最近很多发布者都在关注的问题,尤其是通过西联汇款支
- Windows可以通过网上邻居访问局域网主机,而在Linux下则可以通过Samba客户端访问局域网内的Windows主机,也可以通过Samb
- UCenter Home 提供了方便的日志导入功能,您可以将自己在其他站点发表的日志导入到 UCenter Home 的日志中。该功能需要您
- 芯片商的用户争夺战升级昨天,电脑芯片商AMD公司在京正式发布VISION技术,其中文名称为“视·觉
- 简单的让你的动易SW6.6支持UTF-8动易SW6为什么一直都不支持UTF-8编码呢?相信大家都因为这个很是郁闷吧?不用再郁闷了,从现在开始
- 某某给我写了封邮件,我以前对他的印象不是很深,我比较讨厌女孩进我们群,因为绝大多数都是赝品,并非说是不是真美女的事,而是一种真诚与否的问题,
- SEO之所以难学,经笔者分析最大的原因是大家把SEO太复杂化了,禅说:“简单就好”。现在各类有关SE
- - .htaccess文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含