docker镜像创建完没有名字_详解Docker镜像的创建、存出、载入的方法

概述

创建镜像的方法有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建,本文讲解前两种。


基于已有镜像的容器创建

该方法是使用docker commit命令,其命令格式为:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

主要参数选项包括:

  • -a ,–author=”” 作者信息
  • -m,–message=”” 提交信息
  • -p,–pause=true 提交是暂停容器运行

比如,先创建一个运行bash的ubuntu容器:

151478a8b5606626f3b5125e889b6ad4.png

然后根据创建的这个容器来提交一个新的镜像,提交时需要用到容器ID。

75536e00265e5f9e76fe79c398d819fe.png

如果成功的话,就会返回新镜像的长ID号,然后可以查看看在本地已有的镜像:

9e83c8180555cf20e1fbfbc9ee20bf7a.png

第三行就是刚刚创建的镜像。

PS:利用此容器创建的镜像Id与此容器的镜像id不同,可知它们不是同一镜像。


基于本地模板导入

也可以从操作系统模板文件导入一个镜像,比如使用OpenVZ提供的模板创建。

我尝试使用了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

然后就可以查看本地的镜像:

94a390e86cd66d97f4e39e72b10c0216.png

其实可以看出,虽然模板才75M,但创建的镜像并不小。


镜像的存出和载入

可以利用docker save和docker命令来存出和载入镜像。

存出镜像

如果想要把镜像存出到本地文件,可以使用docker save命令,例如,存出本地的刚才创建的testimage:lastest为镜像文件testimage.tar文件:

750c0e6bb213c63b9bd24edbc3bcd957.png

上面的第6行就是存出代码,这时在/data下就有一个testimage.tar文件,这时我们把本地镜像rmi掉,然后尝试载入。

载入镜像

删除镜像之后的状态:

5bd92b53fe4f8601a4427ab906acf653.png

然后载入镜像:

efa02c6d4b178469c7c1e673c4073008.png

第一行就是载入镜像,还可以简化写成:

ee20e7eb86c85045683c6cbeff362ae3.png

载入操作将会导入镜像以及相关的元数据信息(包括标签等)。


镜像的上传

最后说点镜像的上传,镜像的管理方式非常像git,可以使用docker push命令上传自己本地镜像到仓库,默认上传到DockerHub官方仓库(需要登陆),命令格式:

docker push NAME[:TAG]

在上传之前一般会先为自己的镜像添加带自己名字(作者信息)的标签:

daaaea240180672d3132175e85966973.png

有利于上传之后的区分。

我觉得无论是运维团队还是开发团队还是一个实验室,都有必要有一个自己的Docker仓库,可以存放符合自己需求的环境或系统镜像,可以实现快速部署。


以上就是本文的全部内容,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。后面小编会分享更多运维方面的干货,感兴趣的朋友走一波关注哩~

0d07df23d1dcc2e5bcf4c24cc57db00c.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值