Docker镜像的创建、存出、载入
来源:互联网 发布:电子软件合同范本 编辑:程序博客网 时间:2024/06/06 00:56
Docker镜像的创建、存出、载入
创建镜像的方法有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建,本博文讲解前两种。
基于已有镜像的容器创建
该方法是使用docker commit命令,其命令格式为:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
主要参数选项包括:
- -a ,–author=”” 作者信息
- -m,–message=”” 提交信息
- -p,–pause=true 提交是暂停容器运行
比如,先创建一个运行bash的ubuntu容器:
docker run –it centos /bin/bashroot@d8990fec2141:/# touch testroot@d8990fec2141:/# exit
然后根据创建的这个容器来提交一个新的镜像,提交时需要用到容器ID。
docker commit –m “test” –a “wdg” 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。
wget https://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz
wget https://download.openvz.org/template/precreated/centos-7-x86_64.tar.gz
下载完之后就可以导入了:
cat centos-7-x86_64.tar.gz | docker import - centos7
其实只是两个命令,不过很显而易见,就不加解释了。成功的话,就会返回根据模板建立的镜像的长ID
sudo cat ubuntu–14.04–x86_64–minimal.tar.gz | docker import – ubuntu:14.04ab80404d13d580965b9919b640169ccb585ea7884e6aa9de1ec043075c65fe35
然后就可以查看本地的镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos7 latest 562987ba2b7e 24 seconds ago 589.4 MB
centos latest 9baab0af79c4 2 weeks ago 196.8 MB
其实可以看出,虽然模板才200M,但创建的镜像并不小。
镜像的存出和载入
可以利用docker save和docker命令来存出和载入镜像。
存出镜像
如果想要把镜像存出到本地文件,可以使用docker save命令,例如,存出本地的刚才创建的testimage:lastest为镜像文件testimage.tar文件:
[root@wdg2 ~]# docker save -o /data/centos7.tar centos7
[root@wdg2 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos7 latest 562987ba2b7e 3 minutes ago 589.4 MB
centos latest 9baab0af79c4 2 weeks ago 196.8 MB
上面的第6行就是存出代码,这时在/data下就有一个testimage.tar文件,这时我们把本地镜像rmi掉,然后尝试载入。
载入镜像
删除镜像之后的状态:
[root@wdg2 ~]# docker rmi centos7
Untagged: centos7:latest
Deleted: 562987ba2b7e30eb1cac983747a67d30975118278284a43d9056cb8b1b512517
[root@wdg2 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 9baab0af79c4 2 weeks ago 196.8 MB
然后载入镜像:
[root@wdg2 ~]# docker load --input /data/centos7.tar
[root@wdg2 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos7 latest 562987ba2b7e 6 minutes ago 589.4 MB
centos latest 9baab0af79c4 2 weeks ago 196.8 MB
第一行就是载入镜像,还可以简化写成:
docker load < /data/centos7.tar
载入操作将会导入镜像以及相关的元数据信息(包括标签等)。
镜像的上传
最后说点镜像的上传,镜像的管理方式非常像git,可以使用docker push命令上传自己本地镜像到仓库,默认上传到DockerHub官方仓库(需要登陆),命令格式:
docker push NAME[:TAG]
在上传之前一般会先为自己的镜像添加带自己名字(作者信息)的标签:
[root@wdg2 ~]# docker tag centos7 wdg/centos7
[root@wdg2 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos7 latest 562987ba2b7e 15 minutes ago 589.4 MB
wdg/centos7 latest 562987ba2b7e 15 minutes ago 589.4 MB
centos latest 9baab0af79c4 2 weeks ago 196.8 MB
上传部分没有账号,暂时未成功。。。。
[root@wdg2 ~]# docker push wdg/centos7
The push refers to a repository [wdg/centos7] (len: 1)
562987ba2b7e: Image push failed
562987ba2b7e: Buffering to Disk
Please login prior to push:
Username: qq411277311
Password:
Email: 411277311@qq.com
WARNING: login credentials saved in /root/.docker/config.json
Account created. Please use the confirmation link we sent to your e-mail to activate it.
The push refers to a repository [wdg/centos7] (len: 1)
562987ba2b7e: Image push failed
Error pushing to registry: Authentication is required.
有利于上传之后的区分。
我觉得无论是运维团队还是开发团队还是一个实验室,都有必要有一个自己的Docker仓库,可以存放符合自己需求的环境或系统镜像,可以实现快速部署。
0 0
- Docker镜像的创建、存出、载入
- 【Docker技术入门与实战】存出和载入镜像
- docker镜像的创建
- docker 创建镜像
- 创建 Docker 镜像
- Docker创建镜像
- Docker创建镜像
- Docker的安装和镜像创建
- Docker的安装和镜像创建
- 创建Docker基本的debian镜像
- 创建Web项目的Docker镜像
- Docker的安装和镜像创建
- 创建原生的docker镜像
- docker创建ubuntu的lnmp镜像
- 创建支持ssh的docker镜像
- 创建自定义的docker 基础镜像
- Docker创建centos的nginx_php镜像
- Docker创建自己需求的镜像
- Leetcode_22
- 全排列
- 相互转换 时间类
- 手把手教你做音乐播放器(四)播放服务的搭建
- Windows下的程序放到linux下面不能执行的问题
- Docker镜像的创建、存出、载入
- 下载Solr5
- 图像处理算法的性能评估
- 使用mageui部署游戏微端(ClickOnce)(一)
- 用border画三角形那些事儿
- java中的注释规范,生成javadoc
- 系统工程师之系统升级研究
- 对Xilinx HLS的理解
- R-FCN:基于区域的全卷积网络来检测物体 论文解读